Loading the data

The source of the data is here: https://archive.ics.uci.edu/ml/datasets/Wine+Quality
Original citation: P. Cortez, A. Cerdeira, F. Almeida, T. Matos and J. Reis. Modeling wine preferences by data mining from physicochemical properties. In Decision Support Systems, Elsevier, 47(4):547-553, 2009.

This data consists of two datasets. Each dataset contains quality ratings for wines as well as 11 features of these wines. The 12 variables are all continuous and numeric. The first dataset contains 1599 observations of red wines; the second dataset contains 4898 observations of white wines.

df <- as_tibble(read.table("winequality-red.csv", sep=";", header = TRUE))
summary(df$quality)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   3.000   5.000   6.000   5.636   6.000   8.000
df_white <- as_tibble(read.table("winequality-white.csv", sep=";", header = TRUE))
summary(df_white$quality)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   3.000   5.000   6.000   5.878   6.000   9.000

Cleaning the data

The variables in the data all have different scales. For example:

summary(df$fixed.acidity)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    4.60    7.10    7.90    8.32    9.20   15.90
summary(df_white$sulphates)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.2200  0.4100  0.4700  0.4898  0.5500  1.0800

The data will be standardized to make some plots of the data easier to visualize.

data_red <- as.data.frame(scale(df))
summary(data_red$fixed.acidity)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## -2.1364 -0.7005 -0.2410  0.0000  0.5056  4.3538
data_white <- as.data.frame(scale(df_white))
summary(data_white$sulphates)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## -2.3645 -0.6996 -0.1739  0.0000  0.5271  5.1711

Visualizing the data

Glancing at the raw data, we see that the red wine quality ratings are not distributed uniformly, and there are a few outlier ratings. Our model will probably not perform well when predicting red wine ratings below 4 or above 7.

hist(df$quality,
    main="Histogram of Red Wine Quality Ratings", 
    xlab="Rating", 
    las=1, 
    breaks=4)

The white wine ratings are distributed similarly, although a bit more symmetrically. Our model will probably not perform well when predicting white wine ratings below 4 or above 8.

hist(df_white$quality,
     main="Histogram of White Wine Quality Ratings", 
     xlab="Rating", 
     las=1, 
     breaks=5)

We may consider winsorizing or truncating our dataset to only consider observations where the rating was above 4 and below 7 (or 8, for white wine).

Further visualization

Looking at the standardized data, there are a few variables that immediately appear to be predictive of the quality. Alcohol is one:

ggplot(data_red, aes(x=alcohol, y=quality)) + 
  geom_point() +
  geom_smooth(method=lm) +
  labs(title="Alcohol Content vs. Quality Rating",
       subtitle="Red Wine",
       y="Quality",
       x="Alcohol")

Volatile acidity is another one:

ggplot(data_red, aes(x=volatile.acidity, y=quality)) + 
  geom_point() +
  geom_smooth(method=lm) +
  labs(title="Volatile Acidity vs. Quality Rating",
       subtitle="Red Wine",
       y="Quality",
       x="Acidity")

These variables will likely be useful for predicting quality ratings of white wine as well:

ggplot(data_white, aes(x=alcohol, y=quality)) + 
  geom_point() +
  geom_smooth(method=lm) +
  labs(title="Alcohol Content vs. Quality Rating",
       subtitle="White Wine",
       y="Quality",
       x="Alcohol")

ggplot(data_white, aes(x=volatile.acidity, y=quality)) + 
  geom_point() +
  geom_smooth(method=lm) +
  labs(title="Volatile Acidity vs. Quality Rating",
       subtitle="White Wine",
       y="Quality",
       x="Acidity")

Modeling

The data will be split into train and test datasets. The model will be trained on the train data and evaluated on the test data.

index = sample(1:nrow(df), 0.7*nrow(df)) 

train = df[index,] # Create the training data 
test = df[-index,] # Create the test data

dim(train)
## [1] 1119   12
dim(test)
## [1] 480  12

Rudimentary LM on whole dataset

lm_basic <- lm(data = df, quality ~ .)

summary(lm_basic)
## 
## Call:
## lm(formula = quality ~ ., data = df)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.68911 -0.36652 -0.04699  0.45202  2.02498 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)           2.197e+01  2.119e+01   1.036   0.3002    
## fixed.acidity         2.499e-02  2.595e-02   0.963   0.3357    
## volatile.acidity     -1.084e+00  1.211e-01  -8.948  < 2e-16 ***
## citric.acid          -1.826e-01  1.472e-01  -1.240   0.2150    
## residual.sugar        1.633e-02  1.500e-02   1.089   0.2765    
## chlorides            -1.874e+00  4.193e-01  -4.470 8.37e-06 ***
## free.sulfur.dioxide   4.361e-03  2.171e-03   2.009   0.0447 *  
## total.sulfur.dioxide -3.265e-03  7.287e-04  -4.480 8.00e-06 ***
## density              -1.788e+01  2.163e+01  -0.827   0.4086    
## pH                   -4.137e-01  1.916e-01  -2.159   0.0310 *  
## sulphates             9.163e-01  1.143e-01   8.014 2.13e-15 ***
## alcohol               2.762e-01  2.648e-02  10.429  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.648 on 1587 degrees of freedom
## Multiple R-squared:  0.3606, Adjusted R-squared:  0.3561 
## F-statistic: 81.35 on 11 and 1587 DF,  p-value: < 2.2e-16

Volatile acidity, chlorides, total sulfur dioxide, sulphates and alcohol are all very statistically significant, although our adjusted \(R^2\) is still quite low.

Ridge regression

train_control <- trainControl(method  = "cv", number = 5)

model_ridge <- train(quality ~ .,
                     data = df,
                     method = "ridge",           # method
                     trControl = train_control)        # cross validation

model_ridge
## Ridge Regression 
## 
## 1599 samples
##   11 predictor
## 
## No pre-processing
## Resampling: Cross-Validated (5 fold) 
## Summary of sample sizes: 1278, 1281, 1280, 1279, 1278 
## Resampling results across tuning parameters:
## 
##   lambda  RMSE       Rsquared   MAE      
##   0e+00   0.6518467  0.3531630  0.5045061
##   1e-04   0.6518452  0.3531658  0.5045037
##   1e-01   0.6517271  0.3537885  0.5035855
## 
## RMSE was used to select the optimal model using the smallest value.
## The final value used for the model was lambda = 0.1.
#something doesn't seem to be working here
model_stepwise <- train(quality ~ .,
                        data = df,
                        method = "glmStepAIC",
                        trControl = train_control)
## Start:  AIC=2604.74
## .outcome ~ fixed.acidity + volatile.acidity + citric.acid + residual.sugar + 
##     chlorides + free.sulfur.dioxide + total.sulfur.dioxide + 
##     density + pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## - density               1   562.43 2602.9
## - fixed.acidity         1   562.53 2603.1
## - residual.sugar        1   562.60 2603.2
## - citric.acid           1   562.63 2603.3
## <none>                      562.38 2604.7
## - free.sulfur.dioxide   1   563.65 2605.6
## - pH                    1   564.05 2606.6
## - chlorides             1   568.31 2616.2
## - total.sulfur.dioxide  1   570.81 2621.8
## - sulphates             1   580.96 2644.3
## - volatile.acidity      1   589.37 2662.7
## - alcohol               1   598.81 2683.0
## 
## Step:  AIC=2602.86
## .outcome ~ fixed.acidity + volatile.acidity + citric.acid + residual.sugar + 
##     chlorides + free.sulfur.dioxide + total.sulfur.dioxide + 
##     pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## - fixed.acidity         1   562.54 2601.1
## - residual.sugar        1   562.60 2601.2
## - citric.acid           1   562.69 2601.4
## <none>                      562.43 2602.9
## - free.sulfur.dioxide   1   563.74 2603.8
## - pH                    1   565.40 2607.6
## - chlorides             1   568.48 2614.5
## - total.sulfur.dioxide  1   571.02 2620.3
## - sulphates             1   581.83 2644.2
## - volatile.acidity      1   590.21 2662.5
## - alcohol               1   651.33 2788.6
## 
## Step:  AIC=2601.11
## .outcome ~ volatile.acidity + citric.acid + residual.sugar + 
##     chlorides + free.sulfur.dioxide + total.sulfur.dioxide + 
##     pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## - citric.acid           1   562.69 2599.5
## - residual.sugar        1   562.73 2599.6
## <none>                      562.54 2601.1
## - free.sulfur.dioxide   1   563.90 2602.2
## - pH                    1   567.58 2610.5
## - chlorides             1   569.55 2614.9
## - total.sulfur.dioxide  1   572.35 2621.2
## - sulphates             1   582.25 2643.2
## - volatile.acidity      1   591.11 2662.5
## - alcohol               1   652.30 2788.4
## 
## Step:  AIC=2599.46
## .outcome ~ volatile.acidity + residual.sugar + chlorides + free.sulfur.dioxide + 
##     total.sulfur.dioxide + pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## - residual.sugar        1   562.85 2597.8
## <none>                      562.69 2599.5
## - free.sulfur.dioxide   1   564.22 2600.9
## - pH                    1   568.16 2609.8
## - chlorides             1   570.27 2614.6
## - total.sulfur.dioxide  1   573.13 2621.0
## - sulphates             1   582.25 2641.2
## - volatile.acidity      1   597.57 2674.4
## - alcohol               1   654.33 2790.4
## 
## Step:  AIC=2597.81
## .outcome ~ volatile.acidity + chlorides + free.sulfur.dioxide + 
##     total.sulfur.dioxide + pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## <none>                      562.85 2597.8
## - free.sulfur.dioxide   1   564.52 2599.6
## - pH                    1   568.58 2608.8
## - chlorides             1   570.32 2612.7
## - total.sulfur.dioxide  1   573.15 2619.0
## - sulphates             1   582.28 2639.2
## - volatile.acidity      1   597.72 2672.7
## - alcohol               1   656.21 2792.1
## Start:  AIC=2545.03
## .outcome ~ fixed.acidity + volatile.acidity + citric.acid + residual.sugar + 
##     chlorides + free.sulfur.dioxide + total.sulfur.dioxide + 
##     density + pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## - pH                    1   537.31 2543.4
## - residual.sugar        1   537.59 2544.1
## - density               1   537.95 2545.0
## <none>                      537.14 2545.0
## - citric.acid           1   538.51 2546.3
## - fixed.acidity         1   538.66 2546.7
## - free.sulfur.dioxide   1   538.69 2546.7
## - total.sulfur.dioxide  1   542.46 2555.7
## - chlorides             1   543.32 2557.7
## - sulphates             1   562.78 2602.6
## - volatile.acidity      1   567.79 2614.0
## - alcohol               1   568.31 2615.1
## 
## Step:  AIC=2543.45
## .outcome ~ fixed.acidity + volatile.acidity + citric.acid + residual.sugar + 
##     chlorides + free.sulfur.dioxide + total.sulfur.dioxide + 
##     density + sulphates + alcohol
## 
##                        Df Deviance    AIC
## - residual.sugar        1   538.04 2543.2
## <none>                      537.31 2543.4
## - citric.acid           1   538.64 2544.6
## - free.sulfur.dioxide   1   538.76 2544.9
## - density               1   539.28 2546.1
## - fixed.acidity         1   542.16 2552.9
## - total.sulfur.dioxide  1   542.47 2553.7
## - chlorides             1   543.36 2555.8
## - sulphates             1   563.81 2603.0
## - volatile.acidity      1   567.96 2612.4
## - alcohol               1   576.41 2631.2
## 
## Step:  AIC=2543.19
## .outcome ~ fixed.acidity + volatile.acidity + citric.acid + chlorides + 
##     free.sulfur.dioxide + total.sulfur.dioxide + density + sulphates + 
##     alcohol
## 
##                        Df Deviance    AIC
## <none>                      538.04 2543.2
## - citric.acid           1   539.30 2544.2
## - density               1   539.30 2544.2
## - free.sulfur.dioxide   1   539.66 2545.0
## - fixed.acidity         1   542.24 2551.1
## - total.sulfur.dioxide  1   542.82 2552.5
## - chlorides             1   543.77 2554.7
## - sulphates             1   563.81 2601.0
## - volatile.acidity      1   569.04 2612.8
## - alcohol               1   591.05 2661.3
## Start:  AIC=2516.37
## .outcome ~ fixed.acidity + volatile.acidity + citric.acid + residual.sugar + 
##     chlorides + free.sulfur.dioxide + total.sulfur.dioxide + 
##     density + pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## - fixed.acidity         1   525.27 2514.5
## - density               1   525.34 2514.7
## - citric.acid           1   525.53 2515.1
## <none>                      525.22 2516.4
## - residual.sugar        1   526.15 2516.6
## - free.sulfur.dioxide   1   526.40 2517.2
## - pH                    1   527.79 2520.6
## - total.sulfur.dioxide  1   531.15 2528.7
## - chlorides             1   532.48 2531.9
## - volatile.acidity      1   549.64 2572.4
## - sulphates             1   553.38 2581.1
## - alcohol               1   560.96 2598.5
## 
## Step:  AIC=2514.48
## .outcome ~ volatile.acidity + citric.acid + residual.sugar + 
##     chlorides + free.sulfur.dioxide + total.sulfur.dioxide + 
##     density + pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## - density               1   525.35 2512.7
## - citric.acid           1   525.53 2513.1
## <none>                      525.27 2514.5
## - residual.sugar        1   526.20 2514.8
## - free.sulfur.dioxide   1   526.51 2515.5
## - pH                    1   531.69 2528.0
## - total.sulfur.dioxide  1   531.76 2528.2
## - chlorides             1   533.08 2531.3
## - volatile.acidity      1   549.64 2570.4
## - sulphates             1   553.73 2579.9
## - alcohol               1   579.06 2637.1
## 
## Step:  AIC=2512.68
## .outcome ~ volatile.acidity + citric.acid + residual.sugar + 
##     chlorides + free.sulfur.dioxide + total.sulfur.dioxide + 
##     pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## - citric.acid           1   525.88 2512.0
## <none>                      525.35 2512.7
## - residual.sugar        1   526.24 2512.8
## - free.sulfur.dioxide   1   526.61 2513.7
## - total.sulfur.dioxide  1   531.79 2526.2
## - pH                    1   531.82 2526.3
## - chlorides             1   533.08 2529.3
## - volatile.acidity      1   552.29 2574.6
## - sulphates             1   554.58 2579.9
## - alcohol               1   620.67 2723.8
## 
## Step:  AIC=2511.98
## .outcome ~ volatile.acidity + residual.sugar + chlorides + free.sulfur.dioxide + 
##     total.sulfur.dioxide + pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## - residual.sugar        1   526.61 2511.7
## <none>                      525.88 2512.0
## - free.sulfur.dioxide   1   527.44 2513.8
## - pH                    1   532.11 2525.0
## - total.sulfur.dioxide  1   533.09 2527.4
## - chlorides             1   534.31 2530.3
## - sulphates             1   554.73 2578.2
## - volatile.acidity      1   556.80 2583.0
## - alcohol               1   621.73 2723.9
## 
## Step:  AIC=2511.74
## .outcome ~ volatile.acidity + chlorides + free.sulfur.dioxide + 
##     total.sulfur.dioxide + pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## <none>                      526.61 2511.7
## - free.sulfur.dioxide   1   528.37 2514.0
## - pH                    1   533.34 2526.0
## - total.sulfur.dioxide  1   533.43 2526.2
## - chlorides             1   534.77 2529.4
## - sulphates             1   555.14 2577.2
## - volatile.acidity      1   557.27 2582.1
## - alcohol               1   625.95 2730.6
## Start:  AIC=2501.18
## .outcome ~ fixed.acidity + volatile.acidity + citric.acid + residual.sugar + 
##     chlorides + free.sulfur.dioxide + total.sulfur.dioxide + 
##     density + pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## - free.sulfur.dioxide   1   518.73 2500.3
## <none>                      518.26 2501.2
## - density               1   519.08 2501.2
## - fixed.acidity         1   519.58 2502.4
## - pH                    1   519.70 2502.7
## - citric.acid           1   519.88 2503.2
## - residual.sugar        1   519.96 2503.4
## - total.sulfur.dioxide  1   524.08 2513.5
## - chlorides             1   524.27 2513.9
## - sulphates             1   535.27 2540.5
## - volatile.acidity      1   543.90 2561.0
## - alcohol               1   556.66 2590.7
## 
## Step:  AIC=2500.35
## .outcome ~ fixed.acidity + volatile.acidity + citric.acid + residual.sugar + 
##     chlorides + total.sulfur.dioxide + density + pH + sulphates + 
##     alcohol
## 
##                        Df Deviance    AIC
## <none>                      518.73 2500.3
## - density               1   519.68 2500.7
## - pH                    1   519.97 2501.4
## - fixed.acidity         1   520.28 2502.2
## - residual.sugar        1   520.70 2503.2
## - citric.acid           1   520.76 2503.3
## - chlorides             1   524.54 2512.6
## - total.sulfur.dioxide  1   525.59 2515.2
## - sulphates             1   536.20 2540.8
## - volatile.acidity      1   546.42 2564.9
## - alcohol               1   556.92 2589.3
## Start:  AIC=2494.61
## .outcome ~ fixed.acidity + volatile.acidity + citric.acid + residual.sugar + 
##     chlorides + free.sulfur.dioxide + total.sulfur.dioxide + 
##     density + pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## - density               1   515.23 2492.6
## - citric.acid           1   515.24 2492.6
## - fixed.acidity         1   515.26 2492.7
## - residual.sugar        1   515.32 2492.8
## <none>                      515.23 2494.6
## - free.sulfur.dioxide   1   517.98 2499.4
## - pH                    1   518.33 2500.3
## - chlorides             1   523.16 2512.2
## - total.sulfur.dioxide  1   523.75 2513.6
## - sulphates             1   534.90 2540.6
## - volatile.acidity      1   541.22 2555.7
## - alcohol               1   556.50 2591.3
## 
## Step:  AIC=2492.61
## .outcome ~ fixed.acidity + volatile.acidity + citric.acid + residual.sugar + 
##     chlorides + free.sulfur.dioxide + total.sulfur.dioxide + 
##     pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## - citric.acid           1   515.24 2490.6
## - fixed.acidity         1   515.32 2490.8
## - residual.sugar        1   515.38 2491.0
## <none>                      515.23 2492.6
## - free.sulfur.dioxide   1   518.00 2497.5
## - pH                    1   519.81 2501.9
## - chlorides             1   523.25 2510.4
## - total.sulfur.dioxide  1   523.80 2511.7
## - sulphates             1   536.10 2541.5
## - volatile.acidity      1   541.44 2554.2
## - alcohol               1   612.72 2712.6
## 
## Step:  AIC=2490.63
## .outcome ~ fixed.acidity + volatile.acidity + residual.sugar + 
##     chlorides + free.sulfur.dioxide + total.sulfur.dioxide + 
##     pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## - residual.sugar        1   515.39 2489.0
## - fixed.acidity         1   515.42 2489.1
## <none>                      515.24 2490.6
## - free.sulfur.dioxide   1   518.14 2495.8
## - pH                    1   519.82 2500.0
## - chlorides             1   524.12 2510.5
## - total.sulfur.dioxide  1   524.55 2511.6
## - sulphates             1   536.10 2539.5
## - volatile.acidity      1   552.20 2577.4
## - alcohol               1   616.02 2717.5
## 
## Step:  AIC=2489.01
## .outcome ~ fixed.acidity + volatile.acidity + chlorides + free.sulfur.dioxide + 
##     total.sulfur.dioxide + pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## - fixed.acidity         1   515.62 2487.6
## <none>                      515.39 2489.0
## - free.sulfur.dioxide   1   518.23 2494.0
## - pH                    1   519.98 2498.4
## - chlorides             1   524.45 2509.3
## - total.sulfur.dioxide  1   525.24 2511.3
## - sulphates             1   536.70 2538.9
## - volatile.acidity      1   552.47 2576.0
## - alcohol               1   616.58 2716.6
## 
## Step:  AIC=2487.57
## .outcome ~ volatile.acidity + chlorides + free.sulfur.dioxide + 
##     total.sulfur.dioxide + pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## <none>                      515.62 2487.6
## - free.sulfur.dioxide   1   518.46 2492.6
## - pH                    1   521.57 2500.3
## - chlorides             1   524.45 2507.3
## - total.sulfur.dioxide  1   525.24 2509.3
## - sulphates             1   536.71 2536.9
## - volatile.acidity      1   552.49 2574.1
## - alcohol               1   616.65 2714.8
## Start:  AIC=3164.28
## .outcome ~ fixed.acidity + volatile.acidity + citric.acid + residual.sugar + 
##     chlorides + free.sulfur.dioxide + total.sulfur.dioxide + 
##     density + pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## - density               1   666.70 3163.0
## - fixed.acidity         1   666.80 3163.2
## - residual.sugar        1   666.91 3163.5
## - citric.acid           1   667.06 3163.8
## <none>                      666.41 3164.3
## - free.sulfur.dioxide   1   668.10 3166.3
## - pH                    1   668.37 3167.0
## - chlorides             1   674.80 3182.3
## - total.sulfur.dioxide  1   674.84 3182.4
## - sulphates             1   693.38 3225.7
## - volatile.acidity      1   700.03 3241.0
## - alcohol               1   712.08 3268.3
## 
## Step:  AIC=3162.96
## .outcome ~ fixed.acidity + volatile.acidity + citric.acid + residual.sugar + 
##     chlorides + free.sulfur.dioxide + total.sulfur.dioxide + 
##     pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## - fixed.acidity         1   666.81 3161.2
## - residual.sugar        1   666.93 3161.5
## - citric.acid           1   667.35 3162.5
## <none>                      666.70 3163.0
## - free.sulfur.dioxide   1   668.53 3165.3
## - pH                    1   671.02 3171.3
## - total.sulfur.dioxide  1   675.43 3181.8
## - chlorides             1   675.46 3181.8
## - sulphates             1   693.98 3225.1
## - volatile.acidity      1   701.70 3242.8
## - alcohol               1   786.37 3424.9
## 
## Step:  AIC=3161.22
## .outcome ~ volatile.acidity + citric.acid + residual.sugar + 
##     chlorides + free.sulfur.dioxide + total.sulfur.dioxide + 
##     pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## - residual.sugar        1   667.06 3159.8
## - citric.acid           1   667.37 3160.6
## <none>                      666.81 3161.2
## - free.sulfur.dioxide   1   668.71 3163.8
## - pH                    1   673.87 3176.1
## - chlorides             1   676.75 3182.9
## - total.sulfur.dioxide  1   676.84 3183.1
## - sulphates             1   694.48 3224.2
## - volatile.acidity      1   703.04 3243.8
## - alcohol               1   787.44 3425.1
## 
## Step:  AIC=3159.84
## .outcome ~ volatile.acidity + citric.acid + chlorides + free.sulfur.dioxide + 
##     total.sulfur.dioxide + pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## - citric.acid           1   667.54 3159.0
## <none>                      667.06 3159.8
## - free.sulfur.dioxide   1   669.13 3162.8
## - pH                    1   674.20 3174.9
## - total.sulfur.dioxide  1   676.89 3181.2
## - chlorides             1   676.89 3181.2
## - sulphates             1   694.51 3222.3
## - volatile.acidity      1   703.04 3241.8
## - alcohol               1   789.73 3427.8
## 
## Step:  AIC=3158.98
## .outcome ~ volatile.acidity + chlorides + free.sulfur.dioxide + 
##     total.sulfur.dioxide + pH + sulphates + alcohol
## 
##                        Df Deviance    AIC
## <none>                      667.54 3159.0
## - free.sulfur.dioxide   1   669.93 3162.7
## - pH                    1   674.61 3173.8
## - total.sulfur.dioxide  1   678.32 3182.6
## - chlorides             1   678.35 3182.7
## - sulphates             1   694.60 3220.5
## - volatile.acidity      1   709.85 3255.3
## - alcohol               1   792.02 3430.4
#model_stepwise

Explore anything highly correlated:

correlation_df <- cor(df)

#correlation_df

# fixed acidity to ph and sulphates
correlation_df_melt <- melt(correlation_df)

gz <- ggplot(correlation_df_melt, mapping = aes(x = Var1, y = Var2, fill = value)) + 
  geom_tile() + 
  theme(axis.text.x = element_text(angle = 90, hjust = 1))+
  theme(text = element_text(size = 8)) + 
  ggtitle("Heat map for correlation") + 
  ylab("")+
  xlab("")+
  scale_fill_distiller(palette = "RdPu")

ggplotly(gz, tooltip = "text")
minimized_lm_df <- df %>% 
  select(-free.sulfur.dioxide, -citric.acid, -density, -volatile.acidity, -pH)

minimized_lm <- lm(data = minimized_lm_df, quality ~ .)

summary(minimized_lm)
## 
## Call:
## lm(formula = quality ~ ., data = minimized_lm_df)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.71086 -0.37485 -0.06023  0.48038  2.08242 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)           1.5204529  0.2113680   7.193 9.69e-13 ***
## fixed.acidity         0.0485196  0.0101132   4.798 1.76e-06 ***
## residual.sugar        0.0057865  0.0124562   0.465    0.642    
## chlorides            -2.3443435  0.4030377  -5.817 7.24e-09 ***
## total.sulfur.dioxide -0.0023418  0.0005467  -4.283 1.95e-05 ***
## sulphates             1.1850119  0.1116567  10.613  < 2e-16 ***
## alcohol               0.3100041  0.0171438  18.083  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6742 on 1592 degrees of freedom
## Multiple R-squared:  0.3057, Adjusted R-squared:  0.3031 
## F-statistic: 116.8 on 6 and 1592 DF,  p-value: < 2.2e-16

correlations

findCorrelation(
  cor(df),
  cutoff = 0.5,
  verbose = TRUE,
  names = TRUE
)
## Compare row 3  and column  1 with corr  0.672 
##   Means:  0.293 vs 0.19 so flagging column 3 
## Compare row 1  and column  8 with corr  0.668 
##   Means:  0.245 vs 0.172 so flagging column 1 
## Compare row 7  and column  6 with corr  0.668 
##   Means:  0.174 vs 0.169 so flagging column 7 
## All correlations <= 0.5
## [1] "citric.acid"          "fixed.acidity"        "total.sulfur.dioxide"
ggcorrplot(correlation_df, hc.order = TRUE, type = "lower")

df_less_acid <- df %>% 
  select(-citric.acid, -fixed.acidity)

lm_less_acid <- lm(data = df_less_acid, quality ~ .)
summary(lm_less_acid)
## 
## Call:
## lm(formula = quality ~ ., data = df_less_acid)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.66740 -0.37223 -0.04556  0.46264  2.03092 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)          12.0575013 12.0089257   1.004   0.3155    
## volatile.acidity     -1.0127925  0.1009279 -10.035  < 2e-16 ***
## residual.sugar        0.0115046  0.0134606   0.855   0.3929    
## chlorides            -2.0490938  0.3992190  -5.133 3.21e-07 ***
## free.sulfur.dioxide   0.0048741  0.0021385   2.279   0.0228 *  
## total.sulfur.dioxide -0.0035687  0.0006939  -5.143 3.03e-07 ***
## density              -7.5668358 11.8648390  -0.638   0.5237    
## pH                   -0.4919908  0.1210931  -4.063 5.08e-05 ***
## sulphates             0.9024434  0.1129657   7.989 2.60e-15 ***
## alcohol               0.2810022  0.0201992  13.912  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.648 on 1589 degrees of freedom
## Multiple R-squared:  0.3598, Adjusted R-squared:  0.3562 
## F-statistic: 99.22 on 9 and 1589 DF,  p-value: < 2.2e-16

Lasso

plot(df)

Full scaled analysis

colnames(df)
##  [1] "fixed.acidity"        "volatile.acidity"     "citric.acid"         
##  [4] "residual.sugar"       "chlorides"            "free.sulfur.dioxide" 
##  [7] "total.sulfur.dioxide" "density"              "pH"                  
## [10] "sulphates"            "alcohol"              "quality"
cols = c('fixed.acidity', 'volatile.acidity', 'citric.acid', 'residual.sugar', 'chlorides', 'free.sulfur.dioxide', 'total.sulfur.dioxide', 'density', 'pH', 'sulphates', 'alcohol')

pre_proc_val <- preProcess(train[,cols], method = c("center", "scale"))

train[,cols] = predict(pre_proc_val, train[,cols])
test[,cols] = predict(pre_proc_val, test[,cols])

summary(train)
##  fixed.acidity     volatile.acidity   citric.acid       residual.sugar    
##  Min.   :-1.9104   Min.   :-2.3907   Min.   :-1.39209   Min.   :-0.97679  
##  1st Qu.:-0.7016   1st Qu.:-0.7533   1st Qu.:-0.87750   1st Qu.:-0.46632  
##  Median :-0.2411   Median :-0.0515   Median :-0.05417   Median :-0.24755  
##  Mean   : 0.0000   Mean   : 0.0000   Mean   : 0.00000   Mean   : 0.00000  
##  3rd Qu.: 0.5073   3rd Qu.: 0.6502   3rd Qu.: 0.76916   3rd Qu.: 0.04415  
##  Max.   : 4.3641   Max.   : 4.6853   Max.   : 3.75374   Max.   : 9.37851  
##    chlorides        free.sulfur.dioxide total.sulfur.dioxide    density        
##  Min.   :-1.57500   Min.   :-1.2345     Min.   :-1.2190      Min.   :-3.30592  
##  1st Qu.:-0.37291   1st Qu.:-0.7547     1st Qu.:-0.7434      1st Qu.:-0.62116  
##  Median :-0.16566   Median :-0.2748     Median :-0.2678      Median :-0.01857  
##  Mean   : 0.00000   Mean   : 0.0000     Mean   : 0.0000      Mean   : 0.00000  
##  3rd Qu.: 0.06232   3rd Qu.: 0.4929     3rd Qu.: 0.4903      3rd Qu.: 0.58940  
##  Max.   :10.81890   Max.   : 5.0035     Max.   : 7.1939      Max.   : 3.71535  
##        pH              sulphates          alcohol           quality     
##  Min.   :-3.674921   Min.   :-1.5199   Min.   :-1.8838   Min.   :3.000  
##  1st Qu.:-0.637771   1st Qu.:-0.6173   1st Qu.:-0.8382   1st Qu.:5.000  
##  Median : 0.008431   Median :-0.2224   Median :-0.2678   Median :6.000  
##  Mean   : 0.000000   Mean   : 0.0000   Mean   : 0.0000   Mean   :5.627  
##  3rd Qu.: 0.557703   3rd Qu.: 0.3982   3rd Qu.: 0.5877   3rd Qu.:6.000  
##  Max.   : 4.531846   Max.   : 7.5625   Max.   : 4.2951   Max.   :8.000

#generic LM

lm_2 <- lm(quality ~ ., data = train)
summary(lm_2)
## 
## Call:
## lm(formula = quality ~ ., data = train)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.5885 -0.3492 -0.0582  0.4076  1.9578 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)    
## (Intercept)           5.62735    0.01818 309.458  < 2e-16 ***
## fixed.acidity         0.06359    0.05068   1.255  0.20987    
## volatile.acidity     -0.15194    0.02430  -6.252 5.78e-10 ***
## citric.acid          -0.01237    0.03275  -0.378  0.70578    
## residual.sugar        0.07213    0.02412   2.990  0.00285 ** 
## chlorides            -0.09825    0.02222  -4.421 1.08e-05 ***
## free.sulfur.dioxide   0.03825    0.02567   1.490  0.13656    
## total.sulfur.dioxide -0.12781    0.02697  -4.739 2.43e-06 ***
## density              -0.07713    0.04582  -1.683  0.09256 .  
## pH                   -0.05021    0.03274  -1.534  0.12542    
## sulphates             0.14881    0.02174   6.843 1.28e-11 ***
## alcohol               0.26947    0.03197   8.430  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6083 on 1107 degrees of freedom
## Multiple R-squared:  0.379,  Adjusted R-squared:  0.3728 
## F-statistic: 61.42 on 11 and 1107 DF,  p-value: < 2.2e-16

Regularization

cols_reg = c('fixed.acidity', 'volatile.acidity', 'citric.acid', 'residual.sugar', 'chlorides', 'free.sulfur.dioxide', 'total.sulfur.dioxide', 'density', 'pH', 'sulphates', 'alcohol', 'quality')

dummies <- dummyVars(quality ~ ., data = df[,cols_reg])

train_dummies = predict(dummies, newdata = train[,cols_reg])

test_dummies = predict(dummies, newdata = test[,cols_reg])

print(dim(train_dummies)); print(dim(test_dummies))
## [1] 1119   11
## [1] 480  11

Ridge Regression

x = as.matrix(train_dummies)
y_train = train$quality

x_test = as.matrix(test_dummies)
y_test = test$quality

lambdas <- 10^seq(2, -3, by = -.1)
ridge_reg = glmnet(x, y_train, nlambda = 25, alpha = 0, family = 'gaussian', lambda = lambdas)

summary(ridge_reg)
##           Length Class     Mode   
## a0         51    -none-    numeric
## beta      561    dgCMatrix S4     
## df         51    -none-    numeric
## dim         2    -none-    numeric
## lambda     51    -none-    numeric
## dev.ratio  51    -none-    numeric
## nulldev     1    -none-    numeric
## npasses     1    -none-    numeric
## jerr        1    -none-    numeric
## offset      1    -none-    logical
## call        7    -none-    call   
## nobs        1    -none-    numeric

Optimal Lambda

cv_ridge <- cv.glmnet(x, y_train, alpha = 0, lambda = lambdas)
optimal_lambda <- cv_ridge$lambda.min
optimal_lambda
## [1] 0.05011872

Formal metrics for Ridge

# Compute R^2 from true and predicted values
eval_results <- function(true, predicted, df) {
  SSE <- sum((predicted - true)^2)
  SST <- sum((true - mean(true))^2)
  R_square <- 1 - SSE / SST
  RMSE = sqrt(SSE/nrow(df))

  
  # Model performance metrics
data.frame(
  RMSE = RMSE,
  Rsquare = R_square
)
  
}

# Prediction and evaluation on train data
predictions_train <- predict(ridge_reg, s = optimal_lambda, newx = x)
eval_results(y_train, predictions_train, train)
##        RMSE   Rsquare
## 1 0.6055335 0.3779523
# Prediction and evaluation on test data
predictions_test <- predict(ridge_reg, s = optimal_lambda, newx = x_test)
eval_results(y_test, predictions_test, test)
##       RMSE   Rsquare
## 1 0.739564 0.3132325

Lasso

lambdas <- 10^seq(2, -3, by = -.1)

# Setting alpha = 1 implements lasso regression
lasso_reg <- cv.glmnet(x, y_train, alpha = 1, lambda = lambdas, standardize = TRUE, nfolds = 5)

# Best 
lambda_best <- lasso_reg$lambda.min 
lambda_best
## [1] 0.01258925
lasso_model <- glmnet(x, y_train, alpha = 1, lambda = lambda_best, standardize = TRUE)

predictions_train <- predict(lasso_model, s = lambda_best, newx = x)
eval_results(y_train, predictions_train, train)
##        RMSE   Rsquare
## 1 0.6075408 0.3738214
predictions_test <- predict(lasso_model, s = lambda_best, newx = x_test)
eval_results(y_test, predictions_test, test)
##       RMSE   Rsquare
## 1 0.737832 0.3164453

Mix of ridge and lasso (elasticnet)

# Set training control
train_cont <- trainControl(method = "repeatedcv",
                              number = 10,
                              repeats = 5,
                              search = "random",
                              verboseIter = TRUE)

# Train the model
elastic_reg <- train(quality ~ .,
                           data = train,
                           method = "glmnet",
                           preProcess = c("center", "scale"),
                           tuneLength = 10,
                           trControl = train_cont)
## + Fold01.Rep1: alpha=0.3787, lambda=1.329420 
## - Fold01.Rep1: alpha=0.3787, lambda=1.329420 
## + Fold01.Rep1: alpha=0.1342, lambda=5.427727 
## - Fold01.Rep1: alpha=0.1342, lambda=5.427727 
## + Fold01.Rep1: alpha=0.4053, lambda=0.040531 
## - Fold01.Rep1: alpha=0.4053, lambda=0.040531 
## + Fold01.Rep1: alpha=0.9609, lambda=0.305461 
## - Fold01.Rep1: alpha=0.9609, lambda=0.305461 
## + Fold01.Rep1: alpha=0.1382, lambda=0.865215 
## - Fold01.Rep1: alpha=0.1382, lambda=0.865215 
## + Fold01.Rep1: alpha=0.8561, lambda=0.002156 
## - Fold01.Rep1: alpha=0.8561, lambda=0.002156 
## + Fold01.Rep1: alpha=0.4373, lambda=0.017478 
## - Fold01.Rep1: alpha=0.4373, lambda=0.017478 
## + Fold01.Rep1: alpha=0.1480, lambda=0.450753 
## - Fold01.Rep1: alpha=0.1480, lambda=0.450753 
## + Fold01.Rep1: alpha=0.8644, lambda=0.001686 
## - Fold01.Rep1: alpha=0.8644, lambda=0.001686 
## + Fold01.Rep1: alpha=0.1544, lambda=0.003555 
## - Fold01.Rep1: alpha=0.1544, lambda=0.003555 
## + Fold02.Rep1: alpha=0.3787, lambda=1.329420 
## - Fold02.Rep1: alpha=0.3787, lambda=1.329420 
## + Fold02.Rep1: alpha=0.1342, lambda=5.427727 
## - Fold02.Rep1: alpha=0.1342, lambda=5.427727 
## + Fold02.Rep1: alpha=0.4053, lambda=0.040531 
## - Fold02.Rep1: alpha=0.4053, lambda=0.040531 
## + Fold02.Rep1: alpha=0.9609, lambda=0.305461 
## - Fold02.Rep1: alpha=0.9609, lambda=0.305461 
## + Fold02.Rep1: alpha=0.1382, lambda=0.865215 
## - Fold02.Rep1: alpha=0.1382, lambda=0.865215 
## + Fold02.Rep1: alpha=0.8561, lambda=0.002156 
## - Fold02.Rep1: alpha=0.8561, lambda=0.002156 
## + Fold02.Rep1: alpha=0.4373, lambda=0.017478 
## - Fold02.Rep1: alpha=0.4373, lambda=0.017478 
## + Fold02.Rep1: alpha=0.1480, lambda=0.450753 
## - Fold02.Rep1: alpha=0.1480, lambda=0.450753 
## + Fold02.Rep1: alpha=0.8644, lambda=0.001686 
## - Fold02.Rep1: alpha=0.8644, lambda=0.001686 
## + Fold02.Rep1: alpha=0.1544, lambda=0.003555 
## - Fold02.Rep1: alpha=0.1544, lambda=0.003555 
## + Fold03.Rep1: alpha=0.3787, lambda=1.329420 
## - Fold03.Rep1: alpha=0.3787, lambda=1.329420 
## + Fold03.Rep1: alpha=0.1342, lambda=5.427727 
## - Fold03.Rep1: alpha=0.1342, lambda=5.427727 
## + Fold03.Rep1: alpha=0.4053, lambda=0.040531 
## - Fold03.Rep1: alpha=0.4053, lambda=0.040531 
## + Fold03.Rep1: alpha=0.9609, lambda=0.305461 
## - Fold03.Rep1: alpha=0.9609, lambda=0.305461 
## + Fold03.Rep1: alpha=0.1382, lambda=0.865215 
## - Fold03.Rep1: alpha=0.1382, lambda=0.865215 
## + Fold03.Rep1: alpha=0.8561, lambda=0.002156 
## - Fold03.Rep1: alpha=0.8561, lambda=0.002156 
## + Fold03.Rep1: alpha=0.4373, lambda=0.017478 
## - Fold03.Rep1: alpha=0.4373, lambda=0.017478 
## + Fold03.Rep1: alpha=0.1480, lambda=0.450753 
## - Fold03.Rep1: alpha=0.1480, lambda=0.450753 
## + Fold03.Rep1: alpha=0.8644, lambda=0.001686 
## - Fold03.Rep1: alpha=0.8644, lambda=0.001686 
## + Fold03.Rep1: alpha=0.1544, lambda=0.003555 
## - Fold03.Rep1: alpha=0.1544, lambda=0.003555 
## + Fold04.Rep1: alpha=0.3787, lambda=1.329420 
## - Fold04.Rep1: alpha=0.3787, lambda=1.329420 
## + Fold04.Rep1: alpha=0.1342, lambda=5.427727 
## - Fold04.Rep1: alpha=0.1342, lambda=5.427727 
## + Fold04.Rep1: alpha=0.4053, lambda=0.040531 
## - Fold04.Rep1: alpha=0.4053, lambda=0.040531 
## + Fold04.Rep1: alpha=0.9609, lambda=0.305461 
## - Fold04.Rep1: alpha=0.9609, lambda=0.305461 
## + Fold04.Rep1: alpha=0.1382, lambda=0.865215 
## - Fold04.Rep1: alpha=0.1382, lambda=0.865215 
## + Fold04.Rep1: alpha=0.8561, lambda=0.002156 
## - Fold04.Rep1: alpha=0.8561, lambda=0.002156 
## + Fold04.Rep1: alpha=0.4373, lambda=0.017478 
## - Fold04.Rep1: alpha=0.4373, lambda=0.017478 
## + Fold04.Rep1: alpha=0.1480, lambda=0.450753 
## - Fold04.Rep1: alpha=0.1480, lambda=0.450753 
## + Fold04.Rep1: alpha=0.8644, lambda=0.001686 
## - Fold04.Rep1: alpha=0.8644, lambda=0.001686 
## + Fold04.Rep1: alpha=0.1544, lambda=0.003555 
## - Fold04.Rep1: alpha=0.1544, lambda=0.003555 
## + Fold05.Rep1: alpha=0.3787, lambda=1.329420 
## - Fold05.Rep1: alpha=0.3787, lambda=1.329420 
## + Fold05.Rep1: alpha=0.1342, lambda=5.427727 
## - Fold05.Rep1: alpha=0.1342, lambda=5.427727 
## + Fold05.Rep1: alpha=0.4053, lambda=0.040531 
## - Fold05.Rep1: alpha=0.4053, lambda=0.040531 
## + Fold05.Rep1: alpha=0.9609, lambda=0.305461 
## - Fold05.Rep1: alpha=0.9609, lambda=0.305461 
## + Fold05.Rep1: alpha=0.1382, lambda=0.865215 
## - Fold05.Rep1: alpha=0.1382, lambda=0.865215 
## + Fold05.Rep1: alpha=0.8561, lambda=0.002156 
## - Fold05.Rep1: alpha=0.8561, lambda=0.002156 
## + Fold05.Rep1: alpha=0.4373, lambda=0.017478 
## - Fold05.Rep1: alpha=0.4373, lambda=0.017478 
## + Fold05.Rep1: alpha=0.1480, lambda=0.450753 
## - Fold05.Rep1: alpha=0.1480, lambda=0.450753 
## + Fold05.Rep1: alpha=0.8644, lambda=0.001686 
## - Fold05.Rep1: alpha=0.8644, lambda=0.001686 
## + Fold05.Rep1: alpha=0.1544, lambda=0.003555 
## - Fold05.Rep1: alpha=0.1544, lambda=0.003555 
## + Fold06.Rep1: alpha=0.3787, lambda=1.329420 
## - Fold06.Rep1: alpha=0.3787, lambda=1.329420 
## + Fold06.Rep1: alpha=0.1342, lambda=5.427727 
## - Fold06.Rep1: alpha=0.1342, lambda=5.427727 
## + Fold06.Rep1: alpha=0.4053, lambda=0.040531 
## - Fold06.Rep1: alpha=0.4053, lambda=0.040531 
## + Fold06.Rep1: alpha=0.9609, lambda=0.305461 
## - Fold06.Rep1: alpha=0.9609, lambda=0.305461 
## + Fold06.Rep1: alpha=0.1382, lambda=0.865215 
## - Fold06.Rep1: alpha=0.1382, lambda=0.865215 
## + Fold06.Rep1: alpha=0.8561, lambda=0.002156 
## - Fold06.Rep1: alpha=0.8561, lambda=0.002156 
## + Fold06.Rep1: alpha=0.4373, lambda=0.017478 
## - Fold06.Rep1: alpha=0.4373, lambda=0.017478 
## + Fold06.Rep1: alpha=0.1480, lambda=0.450753 
## - Fold06.Rep1: alpha=0.1480, lambda=0.450753 
## + Fold06.Rep1: alpha=0.8644, lambda=0.001686 
## - Fold06.Rep1: alpha=0.8644, lambda=0.001686 
## + Fold06.Rep1: alpha=0.1544, lambda=0.003555 
## - Fold06.Rep1: alpha=0.1544, lambda=0.003555 
## + Fold07.Rep1: alpha=0.3787, lambda=1.329420 
## - Fold07.Rep1: alpha=0.3787, lambda=1.329420 
## + Fold07.Rep1: alpha=0.1342, lambda=5.427727 
## - Fold07.Rep1: alpha=0.1342, lambda=5.427727 
## + Fold07.Rep1: alpha=0.4053, lambda=0.040531 
## - Fold07.Rep1: alpha=0.4053, lambda=0.040531 
## + Fold07.Rep1: alpha=0.9609, lambda=0.305461 
## - Fold07.Rep1: alpha=0.9609, lambda=0.305461 
## + Fold07.Rep1: alpha=0.1382, lambda=0.865215 
## - Fold07.Rep1: alpha=0.1382, lambda=0.865215 
## + Fold07.Rep1: alpha=0.8561, lambda=0.002156 
## - Fold07.Rep1: alpha=0.8561, lambda=0.002156 
## + Fold07.Rep1: alpha=0.4373, lambda=0.017478 
## - Fold07.Rep1: alpha=0.4373, lambda=0.017478 
## + Fold07.Rep1: alpha=0.1480, lambda=0.450753 
## - Fold07.Rep1: alpha=0.1480, lambda=0.450753 
## + Fold07.Rep1: alpha=0.8644, lambda=0.001686 
## - Fold07.Rep1: alpha=0.8644, lambda=0.001686 
## + Fold07.Rep1: alpha=0.1544, lambda=0.003555 
## - Fold07.Rep1: alpha=0.1544, lambda=0.003555 
## + Fold08.Rep1: alpha=0.3787, lambda=1.329420 
## - Fold08.Rep1: alpha=0.3787, lambda=1.329420 
## + Fold08.Rep1: alpha=0.1342, lambda=5.427727 
## - Fold08.Rep1: alpha=0.1342, lambda=5.427727 
## + Fold08.Rep1: alpha=0.4053, lambda=0.040531 
## - Fold08.Rep1: alpha=0.4053, lambda=0.040531 
## + Fold08.Rep1: alpha=0.9609, lambda=0.305461 
## - Fold08.Rep1: alpha=0.9609, lambda=0.305461 
## + Fold08.Rep1: alpha=0.1382, lambda=0.865215 
## - Fold08.Rep1: alpha=0.1382, lambda=0.865215 
## + Fold08.Rep1: alpha=0.8561, lambda=0.002156 
## - Fold08.Rep1: alpha=0.8561, lambda=0.002156 
## + Fold08.Rep1: alpha=0.4373, lambda=0.017478 
## - Fold08.Rep1: alpha=0.4373, lambda=0.017478 
## + Fold08.Rep1: alpha=0.1480, lambda=0.450753 
## - Fold08.Rep1: alpha=0.1480, lambda=0.450753 
## + Fold08.Rep1: alpha=0.8644, lambda=0.001686 
## - Fold08.Rep1: alpha=0.8644, lambda=0.001686 
## + Fold08.Rep1: alpha=0.1544, lambda=0.003555 
## - Fold08.Rep1: alpha=0.1544, lambda=0.003555 
## + Fold09.Rep1: alpha=0.3787, lambda=1.329420 
## - Fold09.Rep1: alpha=0.3787, lambda=1.329420 
## + Fold09.Rep1: alpha=0.1342, lambda=5.427727 
## - Fold09.Rep1: alpha=0.1342, lambda=5.427727 
## + Fold09.Rep1: alpha=0.4053, lambda=0.040531 
## - Fold09.Rep1: alpha=0.4053, lambda=0.040531 
## + Fold09.Rep1: alpha=0.9609, lambda=0.305461 
## - Fold09.Rep1: alpha=0.9609, lambda=0.305461 
## + Fold09.Rep1: alpha=0.1382, lambda=0.865215 
## - Fold09.Rep1: alpha=0.1382, lambda=0.865215 
## + Fold09.Rep1: alpha=0.8561, lambda=0.002156 
## - Fold09.Rep1: alpha=0.8561, lambda=0.002156 
## + Fold09.Rep1: alpha=0.4373, lambda=0.017478 
## - Fold09.Rep1: alpha=0.4373, lambda=0.017478 
## + Fold09.Rep1: alpha=0.1480, lambda=0.450753 
## - Fold09.Rep1: alpha=0.1480, lambda=0.450753 
## + Fold09.Rep1: alpha=0.8644, lambda=0.001686 
## - Fold09.Rep1: alpha=0.8644, lambda=0.001686 
## + Fold09.Rep1: alpha=0.1544, lambda=0.003555 
## - Fold09.Rep1: alpha=0.1544, lambda=0.003555 
## + Fold10.Rep1: alpha=0.3787, lambda=1.329420 
## - Fold10.Rep1: alpha=0.3787, lambda=1.329420 
## + Fold10.Rep1: alpha=0.1342, lambda=5.427727 
## - Fold10.Rep1: alpha=0.1342, lambda=5.427727 
## + Fold10.Rep1: alpha=0.4053, lambda=0.040531 
## - Fold10.Rep1: alpha=0.4053, lambda=0.040531 
## + Fold10.Rep1: alpha=0.9609, lambda=0.305461 
## - Fold10.Rep1: alpha=0.9609, lambda=0.305461 
## + Fold10.Rep1: alpha=0.1382, lambda=0.865215 
## - Fold10.Rep1: alpha=0.1382, lambda=0.865215 
## + Fold10.Rep1: alpha=0.8561, lambda=0.002156 
## - Fold10.Rep1: alpha=0.8561, lambda=0.002156 
## + Fold10.Rep1: alpha=0.4373, lambda=0.017478 
## - Fold10.Rep1: alpha=0.4373, lambda=0.017478 
## + Fold10.Rep1: alpha=0.1480, lambda=0.450753 
## - Fold10.Rep1: alpha=0.1480, lambda=0.450753 
## + Fold10.Rep1: alpha=0.8644, lambda=0.001686 
## - Fold10.Rep1: alpha=0.8644, lambda=0.001686 
## + Fold10.Rep1: alpha=0.1544, lambda=0.003555 
## - Fold10.Rep1: alpha=0.1544, lambda=0.003555 
## + Fold01.Rep2: alpha=0.3787, lambda=1.329420 
## - Fold01.Rep2: alpha=0.3787, lambda=1.329420 
## + Fold01.Rep2: alpha=0.1342, lambda=5.427727 
## - Fold01.Rep2: alpha=0.1342, lambda=5.427727 
## + Fold01.Rep2: alpha=0.4053, lambda=0.040531 
## - Fold01.Rep2: alpha=0.4053, lambda=0.040531 
## + Fold01.Rep2: alpha=0.9609, lambda=0.305461 
## - Fold01.Rep2: alpha=0.9609, lambda=0.305461 
## + Fold01.Rep2: alpha=0.1382, lambda=0.865215 
## - Fold01.Rep2: alpha=0.1382, lambda=0.865215 
## + Fold01.Rep2: alpha=0.8561, lambda=0.002156 
## - Fold01.Rep2: alpha=0.8561, lambda=0.002156 
## + Fold01.Rep2: alpha=0.4373, lambda=0.017478 
## - Fold01.Rep2: alpha=0.4373, lambda=0.017478 
## + Fold01.Rep2: alpha=0.1480, lambda=0.450753 
## - Fold01.Rep2: alpha=0.1480, lambda=0.450753 
## + Fold01.Rep2: alpha=0.8644, lambda=0.001686 
## - Fold01.Rep2: alpha=0.8644, lambda=0.001686 
## + Fold01.Rep2: alpha=0.1544, lambda=0.003555 
## - Fold01.Rep2: alpha=0.1544, lambda=0.003555 
## + Fold02.Rep2: alpha=0.3787, lambda=1.329420 
## - Fold02.Rep2: alpha=0.3787, lambda=1.329420 
## + Fold02.Rep2: alpha=0.1342, lambda=5.427727 
## - Fold02.Rep2: alpha=0.1342, lambda=5.427727 
## + Fold02.Rep2: alpha=0.4053, lambda=0.040531 
## - Fold02.Rep2: alpha=0.4053, lambda=0.040531 
## + Fold02.Rep2: alpha=0.9609, lambda=0.305461 
## - Fold02.Rep2: alpha=0.9609, lambda=0.305461 
## + Fold02.Rep2: alpha=0.1382, lambda=0.865215 
## - Fold02.Rep2: alpha=0.1382, lambda=0.865215 
## + Fold02.Rep2: alpha=0.8561, lambda=0.002156 
## - Fold02.Rep2: alpha=0.8561, lambda=0.002156 
## + Fold02.Rep2: alpha=0.4373, lambda=0.017478 
## - Fold02.Rep2: alpha=0.4373, lambda=0.017478 
## + Fold02.Rep2: alpha=0.1480, lambda=0.450753 
## - Fold02.Rep2: alpha=0.1480, lambda=0.450753 
## + Fold02.Rep2: alpha=0.8644, lambda=0.001686 
## - Fold02.Rep2: alpha=0.8644, lambda=0.001686 
## + Fold02.Rep2: alpha=0.1544, lambda=0.003555 
## - Fold02.Rep2: alpha=0.1544, lambda=0.003555 
## + Fold03.Rep2: alpha=0.3787, lambda=1.329420 
## - Fold03.Rep2: alpha=0.3787, lambda=1.329420 
## + Fold03.Rep2: alpha=0.1342, lambda=5.427727 
## - Fold03.Rep2: alpha=0.1342, lambda=5.427727 
## + Fold03.Rep2: alpha=0.4053, lambda=0.040531 
## - Fold03.Rep2: alpha=0.4053, lambda=0.040531 
## + Fold03.Rep2: alpha=0.9609, lambda=0.305461 
## - Fold03.Rep2: alpha=0.9609, lambda=0.305461 
## + Fold03.Rep2: alpha=0.1382, lambda=0.865215 
## - Fold03.Rep2: alpha=0.1382, lambda=0.865215 
## + Fold03.Rep2: alpha=0.8561, lambda=0.002156 
## - Fold03.Rep2: alpha=0.8561, lambda=0.002156 
## + Fold03.Rep2: alpha=0.4373, lambda=0.017478 
## - Fold03.Rep2: alpha=0.4373, lambda=0.017478 
## + Fold03.Rep2: alpha=0.1480, lambda=0.450753 
## - Fold03.Rep2: alpha=0.1480, lambda=0.450753 
## + Fold03.Rep2: alpha=0.8644, lambda=0.001686 
## - Fold03.Rep2: alpha=0.8644, lambda=0.001686 
## + Fold03.Rep2: alpha=0.1544, lambda=0.003555 
## - Fold03.Rep2: alpha=0.1544, lambda=0.003555 
## + Fold04.Rep2: alpha=0.3787, lambda=1.329420 
## - Fold04.Rep2: alpha=0.3787, lambda=1.329420 
## + Fold04.Rep2: alpha=0.1342, lambda=5.427727 
## - Fold04.Rep2: alpha=0.1342, lambda=5.427727 
## + Fold04.Rep2: alpha=0.4053, lambda=0.040531 
## - Fold04.Rep2: alpha=0.4053, lambda=0.040531 
## + Fold04.Rep2: alpha=0.9609, lambda=0.305461 
## - Fold04.Rep2: alpha=0.9609, lambda=0.305461 
## + Fold04.Rep2: alpha=0.1382, lambda=0.865215 
## - Fold04.Rep2: alpha=0.1382, lambda=0.865215 
## + Fold04.Rep2: alpha=0.8561, lambda=0.002156 
## - Fold04.Rep2: alpha=0.8561, lambda=0.002156 
## + Fold04.Rep2: alpha=0.4373, lambda=0.017478 
## - Fold04.Rep2: alpha=0.4373, lambda=0.017478 
## + Fold04.Rep2: alpha=0.1480, lambda=0.450753 
## - Fold04.Rep2: alpha=0.1480, lambda=0.450753 
## + Fold04.Rep2: alpha=0.8644, lambda=0.001686 
## - Fold04.Rep2: alpha=0.8644, lambda=0.001686 
## + Fold04.Rep2: alpha=0.1544, lambda=0.003555 
## - Fold04.Rep2: alpha=0.1544, lambda=0.003555 
## + Fold05.Rep2: alpha=0.3787, lambda=1.329420 
## - Fold05.Rep2: alpha=0.3787, lambda=1.329420 
## + Fold05.Rep2: alpha=0.1342, lambda=5.427727 
## - Fold05.Rep2: alpha=0.1342, lambda=5.427727 
## + Fold05.Rep2: alpha=0.4053, lambda=0.040531 
## - Fold05.Rep2: alpha=0.4053, lambda=0.040531 
## + Fold05.Rep2: alpha=0.9609, lambda=0.305461 
## - Fold05.Rep2: alpha=0.9609, lambda=0.305461 
## + Fold05.Rep2: alpha=0.1382, lambda=0.865215 
## - Fold05.Rep2: alpha=0.1382, lambda=0.865215 
## + Fold05.Rep2: alpha=0.8561, lambda=0.002156 
## - Fold05.Rep2: alpha=0.8561, lambda=0.002156 
## + Fold05.Rep2: alpha=0.4373, lambda=0.017478 
## - Fold05.Rep2: alpha=0.4373, lambda=0.017478 
## + Fold05.Rep2: alpha=0.1480, lambda=0.450753 
## - Fold05.Rep2: alpha=0.1480, lambda=0.450753 
## + Fold05.Rep2: alpha=0.8644, lambda=0.001686 
## - Fold05.Rep2: alpha=0.8644, lambda=0.001686 
## + Fold05.Rep2: alpha=0.1544, lambda=0.003555 
## - Fold05.Rep2: alpha=0.1544, lambda=0.003555 
## + Fold06.Rep2: alpha=0.3787, lambda=1.329420 
## - Fold06.Rep2: alpha=0.3787, lambda=1.329420 
## + Fold06.Rep2: alpha=0.1342, lambda=5.427727 
## - Fold06.Rep2: alpha=0.1342, lambda=5.427727 
## + Fold06.Rep2: alpha=0.4053, lambda=0.040531 
## - Fold06.Rep2: alpha=0.4053, lambda=0.040531 
## + Fold06.Rep2: alpha=0.9609, lambda=0.305461 
## - Fold06.Rep2: alpha=0.9609, lambda=0.305461 
## + Fold06.Rep2: alpha=0.1382, lambda=0.865215 
## - Fold06.Rep2: alpha=0.1382, lambda=0.865215 
## + Fold06.Rep2: alpha=0.8561, lambda=0.002156 
## - Fold06.Rep2: alpha=0.8561, lambda=0.002156 
## + Fold06.Rep2: alpha=0.4373, lambda=0.017478 
## - Fold06.Rep2: alpha=0.4373, lambda=0.017478 
## + Fold06.Rep2: alpha=0.1480, lambda=0.450753 
## - Fold06.Rep2: alpha=0.1480, lambda=0.450753 
## + Fold06.Rep2: alpha=0.8644, lambda=0.001686 
## - Fold06.Rep2: alpha=0.8644, lambda=0.001686 
## + Fold06.Rep2: alpha=0.1544, lambda=0.003555 
## - Fold06.Rep2: alpha=0.1544, lambda=0.003555 
## + Fold07.Rep2: alpha=0.3787, lambda=1.329420 
## - Fold07.Rep2: alpha=0.3787, lambda=1.329420 
## + Fold07.Rep2: alpha=0.1342, lambda=5.427727 
## - Fold07.Rep2: alpha=0.1342, lambda=5.427727 
## + Fold07.Rep2: alpha=0.4053, lambda=0.040531 
## - Fold07.Rep2: alpha=0.4053, lambda=0.040531 
## + Fold07.Rep2: alpha=0.9609, lambda=0.305461 
## - Fold07.Rep2: alpha=0.9609, lambda=0.305461 
## + Fold07.Rep2: alpha=0.1382, lambda=0.865215 
## - Fold07.Rep2: alpha=0.1382, lambda=0.865215 
## + Fold07.Rep2: alpha=0.8561, lambda=0.002156 
## - Fold07.Rep2: alpha=0.8561, lambda=0.002156 
## + Fold07.Rep2: alpha=0.4373, lambda=0.017478 
## - Fold07.Rep2: alpha=0.4373, lambda=0.017478 
## + Fold07.Rep2: alpha=0.1480, lambda=0.450753 
## - Fold07.Rep2: alpha=0.1480, lambda=0.450753 
## + Fold07.Rep2: alpha=0.8644, lambda=0.001686 
## - Fold07.Rep2: alpha=0.8644, lambda=0.001686 
## + Fold07.Rep2: alpha=0.1544, lambda=0.003555 
## - Fold07.Rep2: alpha=0.1544, lambda=0.003555 
## + Fold08.Rep2: alpha=0.3787, lambda=1.329420 
## - Fold08.Rep2: alpha=0.3787, lambda=1.329420 
## + Fold08.Rep2: alpha=0.1342, lambda=5.427727 
## - Fold08.Rep2: alpha=0.1342, lambda=5.427727 
## + Fold08.Rep2: alpha=0.4053, lambda=0.040531 
## - Fold08.Rep2: alpha=0.4053, lambda=0.040531 
## + Fold08.Rep2: alpha=0.9609, lambda=0.305461 
## - Fold08.Rep2: alpha=0.9609, lambda=0.305461 
## + Fold08.Rep2: alpha=0.1382, lambda=0.865215 
## - Fold08.Rep2: alpha=0.1382, lambda=0.865215 
## + Fold08.Rep2: alpha=0.8561, lambda=0.002156 
## - Fold08.Rep2: alpha=0.8561, lambda=0.002156 
## + Fold08.Rep2: alpha=0.4373, lambda=0.017478 
## - Fold08.Rep2: alpha=0.4373, lambda=0.017478 
## + Fold08.Rep2: alpha=0.1480, lambda=0.450753 
## - Fold08.Rep2: alpha=0.1480, lambda=0.450753 
## + Fold08.Rep2: alpha=0.8644, lambda=0.001686 
## - Fold08.Rep2: alpha=0.8644, lambda=0.001686 
## + Fold08.Rep2: alpha=0.1544, lambda=0.003555 
## - Fold08.Rep2: alpha=0.1544, lambda=0.003555 
## + Fold09.Rep2: alpha=0.3787, lambda=1.329420 
## - Fold09.Rep2: alpha=0.3787, lambda=1.329420 
## + Fold09.Rep2: alpha=0.1342, lambda=5.427727 
## - Fold09.Rep2: alpha=0.1342, lambda=5.427727 
## + Fold09.Rep2: alpha=0.4053, lambda=0.040531 
## - Fold09.Rep2: alpha=0.4053, lambda=0.040531 
## + Fold09.Rep2: alpha=0.9609, lambda=0.305461 
## - Fold09.Rep2: alpha=0.9609, lambda=0.305461 
## + Fold09.Rep2: alpha=0.1382, lambda=0.865215 
## - Fold09.Rep2: alpha=0.1382, lambda=0.865215 
## + Fold09.Rep2: alpha=0.8561, lambda=0.002156 
## - Fold09.Rep2: alpha=0.8561, lambda=0.002156 
## + Fold09.Rep2: alpha=0.4373, lambda=0.017478 
## - Fold09.Rep2: alpha=0.4373, lambda=0.017478 
## + Fold09.Rep2: alpha=0.1480, lambda=0.450753 
## - Fold09.Rep2: alpha=0.1480, lambda=0.450753 
## + Fold09.Rep2: alpha=0.8644, lambda=0.001686 
## - Fold09.Rep2: alpha=0.8644, lambda=0.001686 
## + Fold09.Rep2: alpha=0.1544, lambda=0.003555 
## - Fold09.Rep2: alpha=0.1544, lambda=0.003555 
## + Fold10.Rep2: alpha=0.3787, lambda=1.329420 
## - Fold10.Rep2: alpha=0.3787, lambda=1.329420 
## + Fold10.Rep2: alpha=0.1342, lambda=5.427727 
## - Fold10.Rep2: alpha=0.1342, lambda=5.427727 
## + Fold10.Rep2: alpha=0.4053, lambda=0.040531 
## - Fold10.Rep2: alpha=0.4053, lambda=0.040531 
## + Fold10.Rep2: alpha=0.9609, lambda=0.305461 
## - Fold10.Rep2: alpha=0.9609, lambda=0.305461 
## + Fold10.Rep2: alpha=0.1382, lambda=0.865215 
## - Fold10.Rep2: alpha=0.1382, lambda=0.865215 
## + Fold10.Rep2: alpha=0.8561, lambda=0.002156 
## - Fold10.Rep2: alpha=0.8561, lambda=0.002156 
## + Fold10.Rep2: alpha=0.4373, lambda=0.017478 
## - Fold10.Rep2: alpha=0.4373, lambda=0.017478 
## + Fold10.Rep2: alpha=0.1480, lambda=0.450753 
## - Fold10.Rep2: alpha=0.1480, lambda=0.450753 
## + Fold10.Rep2: alpha=0.8644, lambda=0.001686 
## - Fold10.Rep2: alpha=0.8644, lambda=0.001686 
## + Fold10.Rep2: alpha=0.1544, lambda=0.003555 
## - Fold10.Rep2: alpha=0.1544, lambda=0.003555 
## + Fold01.Rep3: alpha=0.3787, lambda=1.329420 
## - Fold01.Rep3: alpha=0.3787, lambda=1.329420 
## + Fold01.Rep3: alpha=0.1342, lambda=5.427727 
## - Fold01.Rep3: alpha=0.1342, lambda=5.427727 
## + Fold01.Rep3: alpha=0.4053, lambda=0.040531 
## - Fold01.Rep3: alpha=0.4053, lambda=0.040531 
## + Fold01.Rep3: alpha=0.9609, lambda=0.305461 
## - Fold01.Rep3: alpha=0.9609, lambda=0.305461 
## + Fold01.Rep3: alpha=0.1382, lambda=0.865215 
## - Fold01.Rep3: alpha=0.1382, lambda=0.865215 
## + Fold01.Rep3: alpha=0.8561, lambda=0.002156 
## - Fold01.Rep3: alpha=0.8561, lambda=0.002156 
## + Fold01.Rep3: alpha=0.4373, lambda=0.017478 
## - Fold01.Rep3: alpha=0.4373, lambda=0.017478 
## + Fold01.Rep3: alpha=0.1480, lambda=0.450753 
## - Fold01.Rep3: alpha=0.1480, lambda=0.450753 
## + Fold01.Rep3: alpha=0.8644, lambda=0.001686 
## - Fold01.Rep3: alpha=0.8644, lambda=0.001686 
## + Fold01.Rep3: alpha=0.1544, lambda=0.003555 
## - Fold01.Rep3: alpha=0.1544, lambda=0.003555 
## + Fold02.Rep3: alpha=0.3787, lambda=1.329420 
## - Fold02.Rep3: alpha=0.3787, lambda=1.329420 
## + Fold02.Rep3: alpha=0.1342, lambda=5.427727 
## - Fold02.Rep3: alpha=0.1342, lambda=5.427727 
## + Fold02.Rep3: alpha=0.4053, lambda=0.040531 
## - Fold02.Rep3: alpha=0.4053, lambda=0.040531 
## + Fold02.Rep3: alpha=0.9609, lambda=0.305461 
## - Fold02.Rep3: alpha=0.9609, lambda=0.305461 
## + Fold02.Rep3: alpha=0.1382, lambda=0.865215 
## - Fold02.Rep3: alpha=0.1382, lambda=0.865215 
## + Fold02.Rep3: alpha=0.8561, lambda=0.002156 
## - Fold02.Rep3: alpha=0.8561, lambda=0.002156 
## + Fold02.Rep3: alpha=0.4373, lambda=0.017478 
## - Fold02.Rep3: alpha=0.4373, lambda=0.017478 
## + Fold02.Rep3: alpha=0.1480, lambda=0.450753 
## - Fold02.Rep3: alpha=0.1480, lambda=0.450753 
## + Fold02.Rep3: alpha=0.8644, lambda=0.001686 
## - Fold02.Rep3: alpha=0.8644, lambda=0.001686 
## + Fold02.Rep3: alpha=0.1544, lambda=0.003555 
## - Fold02.Rep3: alpha=0.1544, lambda=0.003555 
## + Fold03.Rep3: alpha=0.3787, lambda=1.329420 
## - Fold03.Rep3: alpha=0.3787, lambda=1.329420 
## + Fold03.Rep3: alpha=0.1342, lambda=5.427727 
## - Fold03.Rep3: alpha=0.1342, lambda=5.427727 
## + Fold03.Rep3: alpha=0.4053, lambda=0.040531 
## - Fold03.Rep3: alpha=0.4053, lambda=0.040531 
## + Fold03.Rep3: alpha=0.9609, lambda=0.305461 
## - Fold03.Rep3: alpha=0.9609, lambda=0.305461 
## + Fold03.Rep3: alpha=0.1382, lambda=0.865215 
## - Fold03.Rep3: alpha=0.1382, lambda=0.865215 
## + Fold03.Rep3: alpha=0.8561, lambda=0.002156 
## - Fold03.Rep3: alpha=0.8561, lambda=0.002156 
## + Fold03.Rep3: alpha=0.4373, lambda=0.017478 
## - Fold03.Rep3: alpha=0.4373, lambda=0.017478 
## + Fold03.Rep3: alpha=0.1480, lambda=0.450753 
## - Fold03.Rep3: alpha=0.1480, lambda=0.450753 
## + Fold03.Rep3: alpha=0.8644, lambda=0.001686 
## - Fold03.Rep3: alpha=0.8644, lambda=0.001686 
## + Fold03.Rep3: alpha=0.1544, lambda=0.003555 
## - Fold03.Rep3: alpha=0.1544, lambda=0.003555 
## + Fold04.Rep3: alpha=0.3787, lambda=1.329420 
## - Fold04.Rep3: alpha=0.3787, lambda=1.329420 
## + Fold04.Rep3: alpha=0.1342, lambda=5.427727 
## - Fold04.Rep3: alpha=0.1342, lambda=5.427727 
## + Fold04.Rep3: alpha=0.4053, lambda=0.040531 
## - Fold04.Rep3: alpha=0.4053, lambda=0.040531 
## + Fold04.Rep3: alpha=0.9609, lambda=0.305461 
## - Fold04.Rep3: alpha=0.9609, lambda=0.305461 
## + Fold04.Rep3: alpha=0.1382, lambda=0.865215 
## - Fold04.Rep3: alpha=0.1382, lambda=0.865215 
## + Fold04.Rep3: alpha=0.8561, lambda=0.002156 
## - Fold04.Rep3: alpha=0.8561, lambda=0.002156 
## + Fold04.Rep3: alpha=0.4373, lambda=0.017478 
## - Fold04.Rep3: alpha=0.4373, lambda=0.017478 
## + Fold04.Rep3: alpha=0.1480, lambda=0.450753 
## - Fold04.Rep3: alpha=0.1480, lambda=0.450753 
## + Fold04.Rep3: alpha=0.8644, lambda=0.001686 
## - Fold04.Rep3: alpha=0.8644, lambda=0.001686 
## + Fold04.Rep3: alpha=0.1544, lambda=0.003555 
## - Fold04.Rep3: alpha=0.1544, lambda=0.003555 
## + Fold05.Rep3: alpha=0.3787, lambda=1.329420 
## - Fold05.Rep3: alpha=0.3787, lambda=1.329420 
## + Fold05.Rep3: alpha=0.1342, lambda=5.427727 
## - Fold05.Rep3: alpha=0.1342, lambda=5.427727 
## + Fold05.Rep3: alpha=0.4053, lambda=0.040531 
## - Fold05.Rep3: alpha=0.4053, lambda=0.040531 
## + Fold05.Rep3: alpha=0.9609, lambda=0.305461 
## - Fold05.Rep3: alpha=0.9609, lambda=0.305461 
## + Fold05.Rep3: alpha=0.1382, lambda=0.865215 
## - Fold05.Rep3: alpha=0.1382, lambda=0.865215 
## + Fold05.Rep3: alpha=0.8561, lambda=0.002156 
## - Fold05.Rep3: alpha=0.8561, lambda=0.002156 
## + Fold05.Rep3: alpha=0.4373, lambda=0.017478 
## - Fold05.Rep3: alpha=0.4373, lambda=0.017478 
## + Fold05.Rep3: alpha=0.1480, lambda=0.450753 
## - Fold05.Rep3: alpha=0.1480, lambda=0.450753 
## + Fold05.Rep3: alpha=0.8644, lambda=0.001686 
## - Fold05.Rep3: alpha=0.8644, lambda=0.001686 
## + Fold05.Rep3: alpha=0.1544, lambda=0.003555 
## - Fold05.Rep3: alpha=0.1544, lambda=0.003555 
## + Fold06.Rep3: alpha=0.3787, lambda=1.329420 
## - Fold06.Rep3: alpha=0.3787, lambda=1.329420 
## + Fold06.Rep3: alpha=0.1342, lambda=5.427727 
## - Fold06.Rep3: alpha=0.1342, lambda=5.427727 
## + Fold06.Rep3: alpha=0.4053, lambda=0.040531 
## - Fold06.Rep3: alpha=0.4053, lambda=0.040531 
## + Fold06.Rep3: alpha=0.9609, lambda=0.305461 
## - Fold06.Rep3: alpha=0.9609, lambda=0.305461 
## + Fold06.Rep3: alpha=0.1382, lambda=0.865215 
## - Fold06.Rep3: alpha=0.1382, lambda=0.865215 
## + Fold06.Rep3: alpha=0.8561, lambda=0.002156 
## - Fold06.Rep3: alpha=0.8561, lambda=0.002156 
## + Fold06.Rep3: alpha=0.4373, lambda=0.017478 
## - Fold06.Rep3: alpha=0.4373, lambda=0.017478 
## + Fold06.Rep3: alpha=0.1480, lambda=0.450753 
## - Fold06.Rep3: alpha=0.1480, lambda=0.450753 
## + Fold06.Rep3: alpha=0.8644, lambda=0.001686 
## - Fold06.Rep3: alpha=0.8644, lambda=0.001686 
## + Fold06.Rep3: alpha=0.1544, lambda=0.003555 
## - Fold06.Rep3: alpha=0.1544, lambda=0.003555 
## + Fold07.Rep3: alpha=0.3787, lambda=1.329420 
## - Fold07.Rep3: alpha=0.3787, lambda=1.329420 
## + Fold07.Rep3: alpha=0.1342, lambda=5.427727 
## - Fold07.Rep3: alpha=0.1342, lambda=5.427727 
## + Fold07.Rep3: alpha=0.4053, lambda=0.040531 
## - Fold07.Rep3: alpha=0.4053, lambda=0.040531 
## + Fold07.Rep3: alpha=0.9609, lambda=0.305461 
## - Fold07.Rep3: alpha=0.9609, lambda=0.305461 
## + Fold07.Rep3: alpha=0.1382, lambda=0.865215 
## - Fold07.Rep3: alpha=0.1382, lambda=0.865215 
## + Fold07.Rep3: alpha=0.8561, lambda=0.002156 
## - Fold07.Rep3: alpha=0.8561, lambda=0.002156 
## + Fold07.Rep3: alpha=0.4373, lambda=0.017478 
## - Fold07.Rep3: alpha=0.4373, lambda=0.017478 
## + Fold07.Rep3: alpha=0.1480, lambda=0.450753 
## - Fold07.Rep3: alpha=0.1480, lambda=0.450753 
## + Fold07.Rep3: alpha=0.8644, lambda=0.001686 
## - Fold07.Rep3: alpha=0.8644, lambda=0.001686 
## + Fold07.Rep3: alpha=0.1544, lambda=0.003555 
## - Fold07.Rep3: alpha=0.1544, lambda=0.003555 
## + Fold08.Rep3: alpha=0.3787, lambda=1.329420 
## - Fold08.Rep3: alpha=0.3787, lambda=1.329420 
## + Fold08.Rep3: alpha=0.1342, lambda=5.427727 
## - Fold08.Rep3: alpha=0.1342, lambda=5.427727 
## + Fold08.Rep3: alpha=0.4053, lambda=0.040531 
## - Fold08.Rep3: alpha=0.4053, lambda=0.040531 
## + Fold08.Rep3: alpha=0.9609, lambda=0.305461 
## - Fold08.Rep3: alpha=0.9609, lambda=0.305461 
## + Fold08.Rep3: alpha=0.1382, lambda=0.865215 
## - Fold08.Rep3: alpha=0.1382, lambda=0.865215 
## + Fold08.Rep3: alpha=0.8561, lambda=0.002156 
## - Fold08.Rep3: alpha=0.8561, lambda=0.002156 
## + Fold08.Rep3: alpha=0.4373, lambda=0.017478 
## - Fold08.Rep3: alpha=0.4373, lambda=0.017478 
## + Fold08.Rep3: alpha=0.1480, lambda=0.450753 
## - Fold08.Rep3: alpha=0.1480, lambda=0.450753 
## + Fold08.Rep3: alpha=0.8644, lambda=0.001686 
## - Fold08.Rep3: alpha=0.8644, lambda=0.001686 
## + Fold08.Rep3: alpha=0.1544, lambda=0.003555 
## - Fold08.Rep3: alpha=0.1544, lambda=0.003555 
## + Fold09.Rep3: alpha=0.3787, lambda=1.329420 
## - Fold09.Rep3: alpha=0.3787, lambda=1.329420 
## + Fold09.Rep3: alpha=0.1342, lambda=5.427727 
## - Fold09.Rep3: alpha=0.1342, lambda=5.427727 
## + Fold09.Rep3: alpha=0.4053, lambda=0.040531 
## - Fold09.Rep3: alpha=0.4053, lambda=0.040531 
## + Fold09.Rep3: alpha=0.9609, lambda=0.305461 
## - Fold09.Rep3: alpha=0.9609, lambda=0.305461 
## + Fold09.Rep3: alpha=0.1382, lambda=0.865215 
## - Fold09.Rep3: alpha=0.1382, lambda=0.865215 
## + Fold09.Rep3: alpha=0.8561, lambda=0.002156 
## - Fold09.Rep3: alpha=0.8561, lambda=0.002156 
## + Fold09.Rep3: alpha=0.4373, lambda=0.017478 
## - Fold09.Rep3: alpha=0.4373, lambda=0.017478 
## + Fold09.Rep3: alpha=0.1480, lambda=0.450753 
## - Fold09.Rep3: alpha=0.1480, lambda=0.450753 
## + Fold09.Rep3: alpha=0.8644, lambda=0.001686 
## - Fold09.Rep3: alpha=0.8644, lambda=0.001686 
## + Fold09.Rep3: alpha=0.1544, lambda=0.003555 
## - Fold09.Rep3: alpha=0.1544, lambda=0.003555 
## + Fold10.Rep3: alpha=0.3787, lambda=1.329420 
## - Fold10.Rep3: alpha=0.3787, lambda=1.329420 
## + Fold10.Rep3: alpha=0.1342, lambda=5.427727 
## - Fold10.Rep3: alpha=0.1342, lambda=5.427727 
## + Fold10.Rep3: alpha=0.4053, lambda=0.040531 
## - Fold10.Rep3: alpha=0.4053, lambda=0.040531 
## + Fold10.Rep3: alpha=0.9609, lambda=0.305461 
## - Fold10.Rep3: alpha=0.9609, lambda=0.305461 
## + Fold10.Rep3: alpha=0.1382, lambda=0.865215 
## - Fold10.Rep3: alpha=0.1382, lambda=0.865215 
## + Fold10.Rep3: alpha=0.8561, lambda=0.002156 
## - Fold10.Rep3: alpha=0.8561, lambda=0.002156 
## + Fold10.Rep3: alpha=0.4373, lambda=0.017478 
## - Fold10.Rep3: alpha=0.4373, lambda=0.017478 
## + Fold10.Rep3: alpha=0.1480, lambda=0.450753 
## - Fold10.Rep3: alpha=0.1480, lambda=0.450753 
## + Fold10.Rep3: alpha=0.8644, lambda=0.001686 
## - Fold10.Rep3: alpha=0.8644, lambda=0.001686 
## + Fold10.Rep3: alpha=0.1544, lambda=0.003555 
## - Fold10.Rep3: alpha=0.1544, lambda=0.003555 
## + Fold01.Rep4: alpha=0.3787, lambda=1.329420 
## - Fold01.Rep4: alpha=0.3787, lambda=1.329420 
## + Fold01.Rep4: alpha=0.1342, lambda=5.427727 
## - Fold01.Rep4: alpha=0.1342, lambda=5.427727 
## + Fold01.Rep4: alpha=0.4053, lambda=0.040531 
## - Fold01.Rep4: alpha=0.4053, lambda=0.040531 
## + Fold01.Rep4: alpha=0.9609, lambda=0.305461 
## - Fold01.Rep4: alpha=0.9609, lambda=0.305461 
## + Fold01.Rep4: alpha=0.1382, lambda=0.865215 
## - Fold01.Rep4: alpha=0.1382, lambda=0.865215 
## + Fold01.Rep4: alpha=0.8561, lambda=0.002156 
## - Fold01.Rep4: alpha=0.8561, lambda=0.002156 
## + Fold01.Rep4: alpha=0.4373, lambda=0.017478 
## - Fold01.Rep4: alpha=0.4373, lambda=0.017478 
## + Fold01.Rep4: alpha=0.1480, lambda=0.450753 
## - Fold01.Rep4: alpha=0.1480, lambda=0.450753 
## + Fold01.Rep4: alpha=0.8644, lambda=0.001686 
## - Fold01.Rep4: alpha=0.8644, lambda=0.001686 
## + Fold01.Rep4: alpha=0.1544, lambda=0.003555 
## - Fold01.Rep4: alpha=0.1544, lambda=0.003555 
## + Fold02.Rep4: alpha=0.3787, lambda=1.329420 
## - Fold02.Rep4: alpha=0.3787, lambda=1.329420 
## + Fold02.Rep4: alpha=0.1342, lambda=5.427727 
## - Fold02.Rep4: alpha=0.1342, lambda=5.427727 
## + Fold02.Rep4: alpha=0.4053, lambda=0.040531 
## - Fold02.Rep4: alpha=0.4053, lambda=0.040531 
## + Fold02.Rep4: alpha=0.9609, lambda=0.305461 
## - Fold02.Rep4: alpha=0.9609, lambda=0.305461 
## + Fold02.Rep4: alpha=0.1382, lambda=0.865215 
## - Fold02.Rep4: alpha=0.1382, lambda=0.865215 
## + Fold02.Rep4: alpha=0.8561, lambda=0.002156 
## - Fold02.Rep4: alpha=0.8561, lambda=0.002156 
## + Fold02.Rep4: alpha=0.4373, lambda=0.017478 
## - Fold02.Rep4: alpha=0.4373, lambda=0.017478 
## + Fold02.Rep4: alpha=0.1480, lambda=0.450753 
## - Fold02.Rep4: alpha=0.1480, lambda=0.450753 
## + Fold02.Rep4: alpha=0.8644, lambda=0.001686 
## - Fold02.Rep4: alpha=0.8644, lambda=0.001686 
## + Fold02.Rep4: alpha=0.1544, lambda=0.003555 
## - Fold02.Rep4: alpha=0.1544, lambda=0.003555 
## + Fold03.Rep4: alpha=0.3787, lambda=1.329420 
## - Fold03.Rep4: alpha=0.3787, lambda=1.329420 
## + Fold03.Rep4: alpha=0.1342, lambda=5.427727 
## - Fold03.Rep4: alpha=0.1342, lambda=5.427727 
## + Fold03.Rep4: alpha=0.4053, lambda=0.040531 
## - Fold03.Rep4: alpha=0.4053, lambda=0.040531 
## + Fold03.Rep4: alpha=0.9609, lambda=0.305461 
## - Fold03.Rep4: alpha=0.9609, lambda=0.305461 
## + Fold03.Rep4: alpha=0.1382, lambda=0.865215 
## - Fold03.Rep4: alpha=0.1382, lambda=0.865215 
## + Fold03.Rep4: alpha=0.8561, lambda=0.002156 
## - Fold03.Rep4: alpha=0.8561, lambda=0.002156 
## + Fold03.Rep4: alpha=0.4373, lambda=0.017478 
## - Fold03.Rep4: alpha=0.4373, lambda=0.017478 
## + Fold03.Rep4: alpha=0.1480, lambda=0.450753 
## - Fold03.Rep4: alpha=0.1480, lambda=0.450753 
## + Fold03.Rep4: alpha=0.8644, lambda=0.001686 
## - Fold03.Rep4: alpha=0.8644, lambda=0.001686 
## + Fold03.Rep4: alpha=0.1544, lambda=0.003555 
## - Fold03.Rep4: alpha=0.1544, lambda=0.003555 
## + Fold04.Rep4: alpha=0.3787, lambda=1.329420 
## - Fold04.Rep4: alpha=0.3787, lambda=1.329420 
## + Fold04.Rep4: alpha=0.1342, lambda=5.427727 
## - Fold04.Rep4: alpha=0.1342, lambda=5.427727 
## + Fold04.Rep4: alpha=0.4053, lambda=0.040531 
## - Fold04.Rep4: alpha=0.4053, lambda=0.040531 
## + Fold04.Rep4: alpha=0.9609, lambda=0.305461 
## - Fold04.Rep4: alpha=0.9609, lambda=0.305461 
## + Fold04.Rep4: alpha=0.1382, lambda=0.865215 
## - Fold04.Rep4: alpha=0.1382, lambda=0.865215 
## + Fold04.Rep4: alpha=0.8561, lambda=0.002156 
## - Fold04.Rep4: alpha=0.8561, lambda=0.002156 
## + Fold04.Rep4: alpha=0.4373, lambda=0.017478 
## - Fold04.Rep4: alpha=0.4373, lambda=0.017478 
## + Fold04.Rep4: alpha=0.1480, lambda=0.450753 
## - Fold04.Rep4: alpha=0.1480, lambda=0.450753 
## + Fold04.Rep4: alpha=0.8644, lambda=0.001686 
## - Fold04.Rep4: alpha=0.8644, lambda=0.001686 
## + Fold04.Rep4: alpha=0.1544, lambda=0.003555 
## - Fold04.Rep4: alpha=0.1544, lambda=0.003555 
## + Fold05.Rep4: alpha=0.3787, lambda=1.329420 
## - Fold05.Rep4: alpha=0.3787, lambda=1.329420 
## + Fold05.Rep4: alpha=0.1342, lambda=5.427727 
## - Fold05.Rep4: alpha=0.1342, lambda=5.427727 
## + Fold05.Rep4: alpha=0.4053, lambda=0.040531 
## - Fold05.Rep4: alpha=0.4053, lambda=0.040531 
## + Fold05.Rep4: alpha=0.9609, lambda=0.305461 
## - Fold05.Rep4: alpha=0.9609, lambda=0.305461 
## + Fold05.Rep4: alpha=0.1382, lambda=0.865215 
## - Fold05.Rep4: alpha=0.1382, lambda=0.865215 
## + Fold05.Rep4: alpha=0.8561, lambda=0.002156 
## - Fold05.Rep4: alpha=0.8561, lambda=0.002156 
## + Fold05.Rep4: alpha=0.4373, lambda=0.017478 
## - Fold05.Rep4: alpha=0.4373, lambda=0.017478 
## + Fold05.Rep4: alpha=0.1480, lambda=0.450753 
## - Fold05.Rep4: alpha=0.1480, lambda=0.450753 
## + Fold05.Rep4: alpha=0.8644, lambda=0.001686 
## - Fold05.Rep4: alpha=0.8644, lambda=0.001686 
## + Fold05.Rep4: alpha=0.1544, lambda=0.003555 
## - Fold05.Rep4: alpha=0.1544, lambda=0.003555 
## + Fold06.Rep4: alpha=0.3787, lambda=1.329420 
## - Fold06.Rep4: alpha=0.3787, lambda=1.329420 
## + Fold06.Rep4: alpha=0.1342, lambda=5.427727 
## - Fold06.Rep4: alpha=0.1342, lambda=5.427727 
## + Fold06.Rep4: alpha=0.4053, lambda=0.040531 
## - Fold06.Rep4: alpha=0.4053, lambda=0.040531 
## + Fold06.Rep4: alpha=0.9609, lambda=0.305461 
## - Fold06.Rep4: alpha=0.9609, lambda=0.305461 
## + Fold06.Rep4: alpha=0.1382, lambda=0.865215 
## - Fold06.Rep4: alpha=0.1382, lambda=0.865215 
## + Fold06.Rep4: alpha=0.8561, lambda=0.002156 
## - Fold06.Rep4: alpha=0.8561, lambda=0.002156 
## + Fold06.Rep4: alpha=0.4373, lambda=0.017478 
## - Fold06.Rep4: alpha=0.4373, lambda=0.017478 
## + Fold06.Rep4: alpha=0.1480, lambda=0.450753 
## - Fold06.Rep4: alpha=0.1480, lambda=0.450753 
## + Fold06.Rep4: alpha=0.8644, lambda=0.001686 
## - Fold06.Rep4: alpha=0.8644, lambda=0.001686 
## + Fold06.Rep4: alpha=0.1544, lambda=0.003555 
## - Fold06.Rep4: alpha=0.1544, lambda=0.003555 
## + Fold07.Rep4: alpha=0.3787, lambda=1.329420 
## - Fold07.Rep4: alpha=0.3787, lambda=1.329420 
## + Fold07.Rep4: alpha=0.1342, lambda=5.427727 
## - Fold07.Rep4: alpha=0.1342, lambda=5.427727 
## + Fold07.Rep4: alpha=0.4053, lambda=0.040531 
## - Fold07.Rep4: alpha=0.4053, lambda=0.040531 
## + Fold07.Rep4: alpha=0.9609, lambda=0.305461 
## - Fold07.Rep4: alpha=0.9609, lambda=0.305461 
## + Fold07.Rep4: alpha=0.1382, lambda=0.865215 
## - Fold07.Rep4: alpha=0.1382, lambda=0.865215 
## + Fold07.Rep4: alpha=0.8561, lambda=0.002156 
## - Fold07.Rep4: alpha=0.8561, lambda=0.002156 
## + Fold07.Rep4: alpha=0.4373, lambda=0.017478 
## - Fold07.Rep4: alpha=0.4373, lambda=0.017478 
## + Fold07.Rep4: alpha=0.1480, lambda=0.450753 
## - Fold07.Rep4: alpha=0.1480, lambda=0.450753 
## + Fold07.Rep4: alpha=0.8644, lambda=0.001686 
## - Fold07.Rep4: alpha=0.8644, lambda=0.001686 
## + Fold07.Rep4: alpha=0.1544, lambda=0.003555 
## - Fold07.Rep4: alpha=0.1544, lambda=0.003555 
## + Fold08.Rep4: alpha=0.3787, lambda=1.329420 
## - Fold08.Rep4: alpha=0.3787, lambda=1.329420 
## + Fold08.Rep4: alpha=0.1342, lambda=5.427727 
## - Fold08.Rep4: alpha=0.1342, lambda=5.427727 
## + Fold08.Rep4: alpha=0.4053, lambda=0.040531 
## - Fold08.Rep4: alpha=0.4053, lambda=0.040531 
## + Fold08.Rep4: alpha=0.9609, lambda=0.305461 
## - Fold08.Rep4: alpha=0.9609, lambda=0.305461 
## + Fold08.Rep4: alpha=0.1382, lambda=0.865215 
## - Fold08.Rep4: alpha=0.1382, lambda=0.865215 
## + Fold08.Rep4: alpha=0.8561, lambda=0.002156 
## - Fold08.Rep4: alpha=0.8561, lambda=0.002156 
## + Fold08.Rep4: alpha=0.4373, lambda=0.017478 
## - Fold08.Rep4: alpha=0.4373, lambda=0.017478 
## + Fold08.Rep4: alpha=0.1480, lambda=0.450753 
## - Fold08.Rep4: alpha=0.1480, lambda=0.450753 
## + Fold08.Rep4: alpha=0.8644, lambda=0.001686 
## - Fold08.Rep4: alpha=0.8644, lambda=0.001686 
## + Fold08.Rep4: alpha=0.1544, lambda=0.003555 
## - Fold08.Rep4: alpha=0.1544, lambda=0.003555 
## + Fold09.Rep4: alpha=0.3787, lambda=1.329420 
## - Fold09.Rep4: alpha=0.3787, lambda=1.329420 
## + Fold09.Rep4: alpha=0.1342, lambda=5.427727 
## - Fold09.Rep4: alpha=0.1342, lambda=5.427727 
## + Fold09.Rep4: alpha=0.4053, lambda=0.040531 
## - Fold09.Rep4: alpha=0.4053, lambda=0.040531 
## + Fold09.Rep4: alpha=0.9609, lambda=0.305461 
## - Fold09.Rep4: alpha=0.9609, lambda=0.305461 
## + Fold09.Rep4: alpha=0.1382, lambda=0.865215 
## - Fold09.Rep4: alpha=0.1382, lambda=0.865215 
## + Fold09.Rep4: alpha=0.8561, lambda=0.002156 
## - Fold09.Rep4: alpha=0.8561, lambda=0.002156 
## + Fold09.Rep4: alpha=0.4373, lambda=0.017478 
## - Fold09.Rep4: alpha=0.4373, lambda=0.017478 
## + Fold09.Rep4: alpha=0.1480, lambda=0.450753 
## - Fold09.Rep4: alpha=0.1480, lambda=0.450753 
## + Fold09.Rep4: alpha=0.8644, lambda=0.001686 
## - Fold09.Rep4: alpha=0.8644, lambda=0.001686 
## + Fold09.Rep4: alpha=0.1544, lambda=0.003555 
## - Fold09.Rep4: alpha=0.1544, lambda=0.003555 
## + Fold10.Rep4: alpha=0.3787, lambda=1.329420 
## - Fold10.Rep4: alpha=0.3787, lambda=1.329420 
## + Fold10.Rep4: alpha=0.1342, lambda=5.427727 
## - Fold10.Rep4: alpha=0.1342, lambda=5.427727 
## + Fold10.Rep4: alpha=0.4053, lambda=0.040531 
## - Fold10.Rep4: alpha=0.4053, lambda=0.040531 
## + Fold10.Rep4: alpha=0.9609, lambda=0.305461 
## - Fold10.Rep4: alpha=0.9609, lambda=0.305461 
## + Fold10.Rep4: alpha=0.1382, lambda=0.865215 
## - Fold10.Rep4: alpha=0.1382, lambda=0.865215 
## + Fold10.Rep4: alpha=0.8561, lambda=0.002156 
## - Fold10.Rep4: alpha=0.8561, lambda=0.002156 
## + Fold10.Rep4: alpha=0.4373, lambda=0.017478 
## - Fold10.Rep4: alpha=0.4373, lambda=0.017478 
## + Fold10.Rep4: alpha=0.1480, lambda=0.450753 
## - Fold10.Rep4: alpha=0.1480, lambda=0.450753 
## + Fold10.Rep4: alpha=0.8644, lambda=0.001686 
## - Fold10.Rep4: alpha=0.8644, lambda=0.001686 
## + Fold10.Rep4: alpha=0.1544, lambda=0.003555 
## - Fold10.Rep4: alpha=0.1544, lambda=0.003555 
## + Fold01.Rep5: alpha=0.3787, lambda=1.329420 
## - Fold01.Rep5: alpha=0.3787, lambda=1.329420 
## + Fold01.Rep5: alpha=0.1342, lambda=5.427727 
## - Fold01.Rep5: alpha=0.1342, lambda=5.427727 
## + Fold01.Rep5: alpha=0.4053, lambda=0.040531 
## - Fold01.Rep5: alpha=0.4053, lambda=0.040531 
## + Fold01.Rep5: alpha=0.9609, lambda=0.305461 
## - Fold01.Rep5: alpha=0.9609, lambda=0.305461 
## + Fold01.Rep5: alpha=0.1382, lambda=0.865215 
## - Fold01.Rep5: alpha=0.1382, lambda=0.865215 
## + Fold01.Rep5: alpha=0.8561, lambda=0.002156 
## - Fold01.Rep5: alpha=0.8561, lambda=0.002156 
## + Fold01.Rep5: alpha=0.4373, lambda=0.017478 
## - Fold01.Rep5: alpha=0.4373, lambda=0.017478 
## + Fold01.Rep5: alpha=0.1480, lambda=0.450753 
## - Fold01.Rep5: alpha=0.1480, lambda=0.450753 
## + Fold01.Rep5: alpha=0.8644, lambda=0.001686 
## - Fold01.Rep5: alpha=0.8644, lambda=0.001686 
## + Fold01.Rep5: alpha=0.1544, lambda=0.003555 
## - Fold01.Rep5: alpha=0.1544, lambda=0.003555 
## + Fold02.Rep5: alpha=0.3787, lambda=1.329420 
## - Fold02.Rep5: alpha=0.3787, lambda=1.329420 
## + Fold02.Rep5: alpha=0.1342, lambda=5.427727 
## - Fold02.Rep5: alpha=0.1342, lambda=5.427727 
## + Fold02.Rep5: alpha=0.4053, lambda=0.040531 
## - Fold02.Rep5: alpha=0.4053, lambda=0.040531 
## + Fold02.Rep5: alpha=0.9609, lambda=0.305461 
## - Fold02.Rep5: alpha=0.9609, lambda=0.305461 
## + Fold02.Rep5: alpha=0.1382, lambda=0.865215 
## - Fold02.Rep5: alpha=0.1382, lambda=0.865215 
## + Fold02.Rep5: alpha=0.8561, lambda=0.002156 
## - Fold02.Rep5: alpha=0.8561, lambda=0.002156 
## + Fold02.Rep5: alpha=0.4373, lambda=0.017478 
## - Fold02.Rep5: alpha=0.4373, lambda=0.017478 
## + Fold02.Rep5: alpha=0.1480, lambda=0.450753 
## - Fold02.Rep5: alpha=0.1480, lambda=0.450753 
## + Fold02.Rep5: alpha=0.8644, lambda=0.001686 
## - Fold02.Rep5: alpha=0.8644, lambda=0.001686 
## + Fold02.Rep5: alpha=0.1544, lambda=0.003555 
## - Fold02.Rep5: alpha=0.1544, lambda=0.003555 
## + Fold03.Rep5: alpha=0.3787, lambda=1.329420 
## - Fold03.Rep5: alpha=0.3787, lambda=1.329420 
## + Fold03.Rep5: alpha=0.1342, lambda=5.427727 
## - Fold03.Rep5: alpha=0.1342, lambda=5.427727 
## + Fold03.Rep5: alpha=0.4053, lambda=0.040531 
## - Fold03.Rep5: alpha=0.4053, lambda=0.040531 
## + Fold03.Rep5: alpha=0.9609, lambda=0.305461 
## - Fold03.Rep5: alpha=0.9609, lambda=0.305461 
## + Fold03.Rep5: alpha=0.1382, lambda=0.865215 
## - Fold03.Rep5: alpha=0.1382, lambda=0.865215 
## + Fold03.Rep5: alpha=0.8561, lambda=0.002156 
## - Fold03.Rep5: alpha=0.8561, lambda=0.002156 
## + Fold03.Rep5: alpha=0.4373, lambda=0.017478 
## - Fold03.Rep5: alpha=0.4373, lambda=0.017478 
## + Fold03.Rep5: alpha=0.1480, lambda=0.450753 
## - Fold03.Rep5: alpha=0.1480, lambda=0.450753 
## + Fold03.Rep5: alpha=0.8644, lambda=0.001686 
## - Fold03.Rep5: alpha=0.8644, lambda=0.001686 
## + Fold03.Rep5: alpha=0.1544, lambda=0.003555 
## - Fold03.Rep5: alpha=0.1544, lambda=0.003555 
## + Fold04.Rep5: alpha=0.3787, lambda=1.329420 
## - Fold04.Rep5: alpha=0.3787, lambda=1.329420 
## + Fold04.Rep5: alpha=0.1342, lambda=5.427727 
## - Fold04.Rep5: alpha=0.1342, lambda=5.427727 
## + Fold04.Rep5: alpha=0.4053, lambda=0.040531 
## - Fold04.Rep5: alpha=0.4053, lambda=0.040531 
## + Fold04.Rep5: alpha=0.9609, lambda=0.305461 
## - Fold04.Rep5: alpha=0.9609, lambda=0.305461 
## + Fold04.Rep5: alpha=0.1382, lambda=0.865215 
## - Fold04.Rep5: alpha=0.1382, lambda=0.865215 
## + Fold04.Rep5: alpha=0.8561, lambda=0.002156 
## - Fold04.Rep5: alpha=0.8561, lambda=0.002156 
## + Fold04.Rep5: alpha=0.4373, lambda=0.017478 
## - Fold04.Rep5: alpha=0.4373, lambda=0.017478 
## + Fold04.Rep5: alpha=0.1480, lambda=0.450753 
## - Fold04.Rep5: alpha=0.1480, lambda=0.450753 
## + Fold04.Rep5: alpha=0.8644, lambda=0.001686 
## - Fold04.Rep5: alpha=0.8644, lambda=0.001686 
## + Fold04.Rep5: alpha=0.1544, lambda=0.003555 
## - Fold04.Rep5: alpha=0.1544, lambda=0.003555 
## + Fold05.Rep5: alpha=0.3787, lambda=1.329420 
## - Fold05.Rep5: alpha=0.3787, lambda=1.329420 
## + Fold05.Rep5: alpha=0.1342, lambda=5.427727 
## - Fold05.Rep5: alpha=0.1342, lambda=5.427727 
## + Fold05.Rep5: alpha=0.4053, lambda=0.040531 
## - Fold05.Rep5: alpha=0.4053, lambda=0.040531 
## + Fold05.Rep5: alpha=0.9609, lambda=0.305461 
## - Fold05.Rep5: alpha=0.9609, lambda=0.305461 
## + Fold05.Rep5: alpha=0.1382, lambda=0.865215 
## - Fold05.Rep5: alpha=0.1382, lambda=0.865215 
## + Fold05.Rep5: alpha=0.8561, lambda=0.002156 
## - Fold05.Rep5: alpha=0.8561, lambda=0.002156 
## + Fold05.Rep5: alpha=0.4373, lambda=0.017478 
## - Fold05.Rep5: alpha=0.4373, lambda=0.017478 
## + Fold05.Rep5: alpha=0.1480, lambda=0.450753 
## - Fold05.Rep5: alpha=0.1480, lambda=0.450753 
## + Fold05.Rep5: alpha=0.8644, lambda=0.001686 
## - Fold05.Rep5: alpha=0.8644, lambda=0.001686 
## + Fold05.Rep5: alpha=0.1544, lambda=0.003555 
## - Fold05.Rep5: alpha=0.1544, lambda=0.003555 
## + Fold06.Rep5: alpha=0.3787, lambda=1.329420 
## - Fold06.Rep5: alpha=0.3787, lambda=1.329420 
## + Fold06.Rep5: alpha=0.1342, lambda=5.427727 
## - Fold06.Rep5: alpha=0.1342, lambda=5.427727 
## + Fold06.Rep5: alpha=0.4053, lambda=0.040531 
## - Fold06.Rep5: alpha=0.4053, lambda=0.040531 
## + Fold06.Rep5: alpha=0.9609, lambda=0.305461 
## - Fold06.Rep5: alpha=0.9609, lambda=0.305461 
## + Fold06.Rep5: alpha=0.1382, lambda=0.865215 
## - Fold06.Rep5: alpha=0.1382, lambda=0.865215 
## + Fold06.Rep5: alpha=0.8561, lambda=0.002156 
## - Fold06.Rep5: alpha=0.8561, lambda=0.002156 
## + Fold06.Rep5: alpha=0.4373, lambda=0.017478 
## - Fold06.Rep5: alpha=0.4373, lambda=0.017478 
## + Fold06.Rep5: alpha=0.1480, lambda=0.450753 
## - Fold06.Rep5: alpha=0.1480, lambda=0.450753 
## + Fold06.Rep5: alpha=0.8644, lambda=0.001686 
## - Fold06.Rep5: alpha=0.8644, lambda=0.001686 
## + Fold06.Rep5: alpha=0.1544, lambda=0.003555 
## - Fold06.Rep5: alpha=0.1544, lambda=0.003555 
## + Fold07.Rep5: alpha=0.3787, lambda=1.329420 
## - Fold07.Rep5: alpha=0.3787, lambda=1.329420 
## + Fold07.Rep5: alpha=0.1342, lambda=5.427727 
## - Fold07.Rep5: alpha=0.1342, lambda=5.427727 
## + Fold07.Rep5: alpha=0.4053, lambda=0.040531 
## - Fold07.Rep5: alpha=0.4053, lambda=0.040531 
## + Fold07.Rep5: alpha=0.9609, lambda=0.305461 
## - Fold07.Rep5: alpha=0.9609, lambda=0.305461 
## + Fold07.Rep5: alpha=0.1382, lambda=0.865215 
## - Fold07.Rep5: alpha=0.1382, lambda=0.865215 
## + Fold07.Rep5: alpha=0.8561, lambda=0.002156 
## - Fold07.Rep5: alpha=0.8561, lambda=0.002156 
## + Fold07.Rep5: alpha=0.4373, lambda=0.017478 
## - Fold07.Rep5: alpha=0.4373, lambda=0.017478 
## + Fold07.Rep5: alpha=0.1480, lambda=0.450753 
## - Fold07.Rep5: alpha=0.1480, lambda=0.450753 
## + Fold07.Rep5: alpha=0.8644, lambda=0.001686 
## - Fold07.Rep5: alpha=0.8644, lambda=0.001686 
## + Fold07.Rep5: alpha=0.1544, lambda=0.003555 
## - Fold07.Rep5: alpha=0.1544, lambda=0.003555 
## + Fold08.Rep5: alpha=0.3787, lambda=1.329420 
## - Fold08.Rep5: alpha=0.3787, lambda=1.329420 
## + Fold08.Rep5: alpha=0.1342, lambda=5.427727 
## - Fold08.Rep5: alpha=0.1342, lambda=5.427727 
## + Fold08.Rep5: alpha=0.4053, lambda=0.040531 
## - Fold08.Rep5: alpha=0.4053, lambda=0.040531 
## + Fold08.Rep5: alpha=0.9609, lambda=0.305461 
## - Fold08.Rep5: alpha=0.9609, lambda=0.305461 
## + Fold08.Rep5: alpha=0.1382, lambda=0.865215 
## - Fold08.Rep5: alpha=0.1382, lambda=0.865215 
## + Fold08.Rep5: alpha=0.8561, lambda=0.002156 
## - Fold08.Rep5: alpha=0.8561, lambda=0.002156 
## + Fold08.Rep5: alpha=0.4373, lambda=0.017478 
## - Fold08.Rep5: alpha=0.4373, lambda=0.017478 
## + Fold08.Rep5: alpha=0.1480, lambda=0.450753 
## - Fold08.Rep5: alpha=0.1480, lambda=0.450753 
## + Fold08.Rep5: alpha=0.8644, lambda=0.001686 
## - Fold08.Rep5: alpha=0.8644, lambda=0.001686 
## + Fold08.Rep5: alpha=0.1544, lambda=0.003555 
## - Fold08.Rep5: alpha=0.1544, lambda=0.003555 
## + Fold09.Rep5: alpha=0.3787, lambda=1.329420 
## - Fold09.Rep5: alpha=0.3787, lambda=1.329420 
## + Fold09.Rep5: alpha=0.1342, lambda=5.427727 
## - Fold09.Rep5: alpha=0.1342, lambda=5.427727 
## + Fold09.Rep5: alpha=0.4053, lambda=0.040531 
## - Fold09.Rep5: alpha=0.4053, lambda=0.040531 
## + Fold09.Rep5: alpha=0.9609, lambda=0.305461 
## - Fold09.Rep5: alpha=0.9609, lambda=0.305461 
## + Fold09.Rep5: alpha=0.1382, lambda=0.865215 
## - Fold09.Rep5: alpha=0.1382, lambda=0.865215 
## + Fold09.Rep5: alpha=0.8561, lambda=0.002156 
## - Fold09.Rep5: alpha=0.8561, lambda=0.002156 
## + Fold09.Rep5: alpha=0.4373, lambda=0.017478 
## - Fold09.Rep5: alpha=0.4373, lambda=0.017478 
## + Fold09.Rep5: alpha=0.1480, lambda=0.450753 
## - Fold09.Rep5: alpha=0.1480, lambda=0.450753 
## + Fold09.Rep5: alpha=0.8644, lambda=0.001686 
## - Fold09.Rep5: alpha=0.8644, lambda=0.001686 
## + Fold09.Rep5: alpha=0.1544, lambda=0.003555 
## - Fold09.Rep5: alpha=0.1544, lambda=0.003555 
## + Fold10.Rep5: alpha=0.3787, lambda=1.329420 
## - Fold10.Rep5: alpha=0.3787, lambda=1.329420 
## + Fold10.Rep5: alpha=0.1342, lambda=5.427727 
## - Fold10.Rep5: alpha=0.1342, lambda=5.427727 
## + Fold10.Rep5: alpha=0.4053, lambda=0.040531 
## - Fold10.Rep5: alpha=0.4053, lambda=0.040531 
## + Fold10.Rep5: alpha=0.9609, lambda=0.305461 
## - Fold10.Rep5: alpha=0.9609, lambda=0.305461 
## + Fold10.Rep5: alpha=0.1382, lambda=0.865215 
## - Fold10.Rep5: alpha=0.1382, lambda=0.865215 
## + Fold10.Rep5: alpha=0.8561, lambda=0.002156 
## - Fold10.Rep5: alpha=0.8561, lambda=0.002156 
## + Fold10.Rep5: alpha=0.4373, lambda=0.017478 
## - Fold10.Rep5: alpha=0.4373, lambda=0.017478 
## + Fold10.Rep5: alpha=0.1480, lambda=0.450753 
## - Fold10.Rep5: alpha=0.1480, lambda=0.450753 
## + Fold10.Rep5: alpha=0.8644, lambda=0.001686 
## - Fold10.Rep5: alpha=0.8644, lambda=0.001686 
## + Fold10.Rep5: alpha=0.1544, lambda=0.003555 
## - Fold10.Rep5: alpha=0.1544, lambda=0.003555
## Warning in nominalTrainWorkflow(x = x, y = y, wts = weights, info = trainInfo, :
## There were missing values in resampled performance measures.
## Aggregating results
## Selecting tuning parameters
## Fitting alpha = 0.154, lambda = 0.00355 on full training set
# Best tuning parameter
elastic_reg$bestTune
##       alpha      lambda
## 4 0.1543657 0.003554825

Metrics for elasticnet

# Make predictions on training set
predictions_train <- predict(elastic_reg, x)
eval_results(y_train, predictions_train, train) 
##       RMSE   Rsquare
## 1 0.605046 0.3789535
# Make predictions on test set
predictions_test <- predict(elastic_reg, x_test)
eval_results(y_test, predictions_test, test)
##        RMSE   Rsquare
## 1 0.7385578 0.3150998
colnames(df)
##  [1] "fixed.acidity"        "volatile.acidity"     "citric.acid"         
##  [4] "residual.sugar"       "chlorides"            "free.sulfur.dioxide" 
##  [7] "total.sulfur.dioxide" "density"              "pH"                  
## [10] "sulphates"            "alcohol"              "quality"
ggplot(data = df, mapping = aes(x = total.sulfur.dioxide, y = quality)) + 
  geom_point()

ggplot(data = df, mapping = aes(x = residual.sugar, y = quality)) + 
  geom_point()

There is really no relationship. This is probably an exercise in clusterting or machine learning, but linear regression is insufficient.

ggplot(data = df, mapping = aes(x = alcohol, y = quality)) + 
  geom_point() +
  geom_smooth()
## `geom_smooth()` using method = 'gam' and formula 'y ~ s(x, bs = "cs")'